Visual Studio 6 的技巧和窍门

13

我们中的一些人不可避免地需要支持使用微软的Visual Studio 6.0 IDE编写的“遗留”代码,尽管意见可能不同,但与Visual Studio系列的后续版本相比,它通常被认为不太用户友好。

因此,我想听听你们最喜欢的隐藏/文档不全的IDE功能(可以是C++或VB),请按常规做法,每个帖子一个特性。


@casperOne请重新开放这个问题。它是建设性的,涉及事实、参考和特定专业知识。没有意见、辩论、争论或长时间讨论。 - MarkJ
@MarkJ 另外,这些大部分甚至都不是答案,应该改为评论。 - casperOne
@casperOne 感谢您的回答。您提供的关于为什么“列表问题不适合SE”的解释链接只是一个在meta上得到+2票的答案。Jon Skeet在同一个问题上也有一个回答,他说它们是可以的,并且得到了+3票。但也许您有更好的链接?我在这里看不到一个真正是评论的答案。 - MarkJ
@MarkJ 首先,你的投票统计有误。另外,请注意“接受”的答案是由“提问者”决定的,而不一定是社区认为最好的答案,这就是为什么我向你链接了Shog9(他是Stack Exchange的员工)的回答,支持另一个类似于不合适的回答。虽然我尊重Jon在许多事情上的观点,但在这件事上我不同意他的看法。最后,如果将Jon的答案视为“唯一”的答案,则像这样的问题应该执行他建议的所有操作,但这里并没有这样做。 - casperOne
@MarkJ 另外,目前只有六票或更少的任何内容通常都是评论。这只是一个简短的文本片段,在系统中的任何其他帖子上都会被视为评论。 - casperOne
显示剩余3条评论
14个回答

19

这也涉及到鼠标驱动程序。我安装了适当的驱动程序,在VB6中从未遇到过滚动问题(并始终建议人们为其鼠标安装适当的驱动程序)。但是在VBA中确实存在一个问题,Microsoft在Office 2003 SP3中进行了修复。 - GSerg
天啊,我过去10个月一直在开发vb6,但从未找到滚轮修复方法。就在我完成项目时,碰巧看到了你的答案。如果我能给你点赞20次,我一定会这么做。 - Manuel Ferreria
4
耶,我的糟糕的网站被列入了Stack Overflow的答案!而且,我花了1.5年才注意到。 - Joe

12

对于VB6,MZ-Tools 是一个非常好用的免费插件。我最喜欢的功能是它的查找功能和通过点击按钮查找给定例程的所有调用者的能力。它还有其他一些功能,其中一些在某些情况下也很有帮助。


太棒了!这个技巧让我在注释和查看难以维护的函数时轻松了许多。 - Manuel Ferreria
MZ-Tools 为我节省了大量时间。花些时间进行配置,你不会后悔的。 - Matthew Cole

9

VB6中的自定义代码模板

我不知道这是否是一个真正的“隐藏”功能,但我一直认为这是一个很好的时间节省方式。

您可以创建自己的自定义模板,用于类、模块、表单等,并在IDE中使其可用。例如,我通常喜欢在我的VB6代码中使用强类型Collection类。因此,我可能想要一个FooCollection,它仅包含Foo对象,而不是普通的Collection。我不想每次需要新的强类型Collection时都重新实现Collection接口,因此我创建了一个包含所有样板Collection代码的新类模板。现在,每当我要添加新的类模块到我的项目中时,我的自定义TypedCollection模板就会作为一个选项出现。然后,我只需将新添加的类重命名为FooCollection,并将所有出现的"As Object"替换为"As Foo"(其中Foo是我想要存储在集合中的对象的类型),然后完成。

继续以我的自定义类模板示例为例,以下是操作步骤:

  1. 打开IDE并启动一个新项目(我通常只选择标准EXE,因为这里选择什么并不重要)。
  2. 向项目添加一个新的类。这将成为您的模板。
  3. 编写您的模板类。基本上只需编写任何您希望在其他项目中重复使用的样板代码。这是直接的VB代码,没有什么特别之处。
  4. 完成后,在C:\Program Files\Microsoft Visual Studio\VB6\Template\Classes文件夹中保存您的文件(注意:其他子文件夹,如Forms等,是用于其他类型的模板)。去掉扩展名的.cls文件名将出现在IDE中,所以我通常在文件名中包含空格以提高可读性。
  5. 下次打开IDE并单击Project->Add Class Module时,您的模板类将出现在可用类模板列表中。

7
你可以编辑文件C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\AUTOEXP.DAT,添加规则以在调试监视窗口中显示自定义类的有意义值。

我的意思是这样的。我们定义了一个日期结构:

typedef struct tagMHDATE
   {
   short int  nDay;      // Day of the Month  1..31
   short int  nMonth;    // Month of the Year 1..12
   short int  nYear;     // Year
   } MHDATE, FAR *LPMHDATE;

如果我有这段代码:
MHDATE today;
GetDate(&today);

如果我将today拖放到监视窗口中,我会看到类似于以下内容:

today    {...}

现在,请将以下内容添加到AUTOEXP.DAT的末尾(它只是一个文本文件)。
tagMHDATE=date=<nMonth>/<nDay>/<nYear>

现在我在观察窗口中看到了这个:

today    {date=10/8/2008}

6

我将从一个VS C++功能开始介绍,这个功能为我节省了很多时间:在调试器的观察窗口中,将",su"(不带引号)附加到Unicode字符串上,可以查看该字符串的值(而不是该字符串的内存地址)。


6

Erl 函数在 VB6 中使用。如果您在 VB6 代码中添加了行号,那么在错误处理程序中,可以通过函数 Erl 的返回值访问发生错误的行号。


1
您可以使用免费工具MZTools(http://www.mztools.com/v3/mztools3.aspx)自动添加行号和/或错误处理程序。 - MarkJ

5

这里有许多关于编程的技巧和窍门在这里。我最喜欢的一个是在监视窗口中放置@err,hr以获取错误消息。


4

对于VC6,可以获取Whole Tomato的Visual Assist X。它包含一个智能(且易用)的Intellisense替代品,更丰富的代码着色,一些重构支持以及许多其他功能。绝对值得投资。


4

将用于启动 VB6 的快捷方式的 "开始位置" 属性更改为源代码目录的根目录。这样做可以节省每次从IDE中打开项目时浪费的鼠标点击。


3

看起来很有趣,也可能值得购买,但它不是免费的 - 它需要花费75美元。 - Matt Dillard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接