1
21
下面是一个真实的场景,以及我们如何为350k LOC VB6项目解决它。 我们使用的是Janus网格,在某个时刻,引用JSColumn的DefaultValue属性的所有代码行都变成了DefaultValue。这是一个调试整个IDE的机会。 我发现刚刚添加了对MSXML的引用,现在IDE在Janus Grid typelib之前获取了ISchemaAttributes的defaultValue属性。 经过一些实验,我发现IDE按以下顺序收集“已注册”的标识符:
所以我们所做的简单修复就是创建一个虚拟类/接口,其中的方法保存了正确的大小写。因为我们已经有了一个项目范围的typelib,我们在引用其他任何typelib之前就从每个项目中引用了它,所以这样做很轻松。 以下是IUcsVbIntellisenseFix接口的IDL的一部分:
我们向IUcsVbIntellisenseFix添加了很多方法,其中一些方法是以我们过去拼写错误的枚举项和我们想要修复的任何东西命名的。在公共库(activexdll)中的一个简单VB类也可以做到这一点,该库从每个项目中引用。 这样,我们的源代码在某个点上收敛到合适的大小写,因为在签出IDE时实际上 固定的 外壳符合IUcsVbIntellisenseFix外壳。现在,即使我们尝试拼写错误,也不能拼写错误的枚举、方法或属性。 |
2
19
取决于你的情况
可能会有帮助。 |
3
4
简单方法:
在子例程中,将所有情况更改为
|
4
1
我能同情你。幸运的是,我们可以在版本控制差异工具中关闭区分大小写的功能! VB6IDE自动大小写更正似乎偶尔会更改变量声明和引用中的大小写,这可能取决于VBP文件中列出模块的顺序?但是IDE并没有告诉您需要保存文件。因此,问题只会在由于另一次编辑而保存文件时出现。我们曾试图通过检查项目中的所有文件并仔细设置案例来防止这种情况,但并没有消失。
编辑:我刚想到的东西:适应 Fred's answer . 从现在起,每次签入文件时,都要在顶部添加一个块,以便为常见的嫌疑人建立规范的案例。如果没有别的,那就比手工还原几百行容易多了。最终,您将在每个文件中都有这个块,然后问题就不会再发生了。
|
5
1
我通过使用上面的例子,在整个代码库中标准化了这个案例(
|
6
0
专门用于控制枚举值的大小写 ,有一个VB6 IDE外接程序,可能会有所帮助。枚举对于这个问题似乎有一个稍微独特的版本。 如以下链接所述:
裁判: http://www.vbforums.com/showthread.php?778109-VB6-modLockEnumCase-bas-Enforce-Case-of-Enums
|
7
0
我也有类似的问题: 在bas模块中,我写道:
|
8
-2
我觉得没什么好做的。IDE将变量名的大小写更改为声明时的大小写。但是,老实说,在那一天,我做了几个大型VB6项目,从来没有发现这是一个问题。为什么您的开发团队中的人员不断更改变量声明?似乎您还没有建立一个明确的变量命名策略。我知道你的不安,所以无意冒犯,但可能是你的政策在这方面有所欠缺。 不幸的是,根据这个 SO thread ,很难找到替代的VB6 IDE。所以,你最好的办法就是通过政策来解决这个问题。或者搬到VB.NET版. :) |
9
-6
真 的。我花了很多时间用VB6编程,我不知道你在说什么。我认为您所指的唯一一件事是intellisense将更改变量名的大小写以匹配它们的声明。如果你抱怨的话,我会很奇怪为什么他们会以其他方式进入。如果这是你的问题,不,我知道没有办法禁用它。我建议您一次性签出每个文件,确保声明和变量使用的上限都匹配并签回。 |