我们中的一些人总是不得不使用 Microsoft 的 Visual Studio 6.0 IDE 来支持“遗留”代码,尽管意见会有所不同,但与 Visual Studio 系列 IDE 的后期版本相比,这些 IDE 通常被认为对用户不太友好。
所以我想听听一些你最好的隐藏/记录不充分的 IDE 功能(可能适用于 C++ 或 VB)。请按照惯例,每篇文章一个功能。
我们中的一些人总是不得不使用 Microsoft 的 Visual Studio 6.0 IDE 来支持“遗留”代码,尽管意见会有所不同,但与 Visual Studio 系列 IDE 的后期版本相比,这些 IDE 通常被认为对用户不太友好。
所以我想听听一些你最好的隐藏/记录不充分的 IDE 功能(可能适用于 C++ 或 VB)。请按照惯例,每篇文章一个功能。
上次我不得不使用 VB6 时,我很生气,因为我的鼠标上的滚轮(实际上可以与 Windows 中的所有其他程序一起使用)不起作用。这与 VB6 的时代以及微软多年来如何改变滚轮功能有关。
(看起来微软也修复了这些年)
对于 VB6,MZ-Tools是一个很棒的免费插件。我最喜欢的功能是它的查找功能以及通过单击按钮查找给定例程的所有调用者的能力。它还有其他一些功能,我发现其中一些功能有时很有帮助。
我不知道这是否真的是一个“隐藏”功能,但我一直认为这是一个很好的节省时间的方法。
您可以为类、模块、表单等创建自己的自定义模板,并使它们在 IDE 中可用。例如,我通常喜欢Collection
在我的 VB6 代码中使用强类型类。所以我可能想要一个FooCollection
包含Foo
对象而不是别的东西,而不是一个普通的 old Collection
。我不想Collection
每次需要新的 strong-typed 时都重新实现接口Collection
,所以我创建了一个包含所有样板Collection
代码的新类模板。现在,每当我向我的项目添加一个新的类模块时,我的自定义TypedCollection
模板都可以作为一个选项使用。然后我只是重命名新添加的类FooCollection
并将所有出现的“As Object”替换为“As Foo”(其中 Foo 是我想要存储在集合中的对象类型),我就完成了。
与我的自定义类模板示例保持一致,您可以这样做:
C:\Program Files\Microsoft Visual Studio\VB6\Template\Classes
文件夹中(注意:其他子文件夹,例如Forms
等用于其他类型的模板)。.cls 文件的名称减去扩展名将出现在 IDE 中,因此为了便于阅读,我通常在文件名中包含空格。Project->Add Class Module
时,您的模板类将出现在可用类模板列表中。您可以编辑该文件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>
...现在我在 Watch 窗口中看到了这个:
today {date=10/8/2008}
我将启动一个 VS C++ 功能,它为我节省了大量时间:在调试器的监视窗口中将“,su”(不带引号)附加到 unicode 字符串使您能够查看字符串的值(而不是该字符串的内存地址)
VB6 中的Erl函数。如果您在 VB6 代码中放置行号,则可以在错误处理程序中通过函数Erl的返回值访问发生错误的行号。
这里有很多提示和技巧。我最喜欢的是放置@err,hr
在 Watch 窗口中以获取错误消息。
对于 VC6,获取Whole Tomato的Visual Assist X副本。它包含一个智能(且可用)的 Intellisense 替代品、更丰富的代码着色、一些重构支持以及更多功能。绝对值得投资。
将用于启动 VB6 的快捷方式上的“开始于”属性更改为源代码目录的根目录。每次从 IDE 中打开项目时,这将节省许多浪费的鼠标点击。
CodeShine:VB6 代码重构插件(免费)。包括提取方法、引入解释变量、提取函数、引入解释变量、重命名等重构
快速宏一直是我个人的最爱。本身并不是真正的隐藏功能,但非常有用,并且 VC6 是最后一个版本,它们足够快,可以使用(在 MS 重写宏引擎以使用 .NET 之前)。
Shift-Alt-Enter 增加编辑器窗口的大小
不是真正的 VB6 IDE 功能,但如果您必须用大量数据填充未绑定的列表视图,那么在填充过程中使其不可见会加快 10 倍的速度。
我对“如果你对别人的问题的答案不满意,你应该自己开始吗?”这个问题的回答 展示了如何使用所有源路径预先填充 VC++。它对我们这些从命令行构建但使用 msdev 进行调试的人很有用。