Visual Studio 6提示和技巧

jpo*_*poh 12 c++ ide vb6 visual-studio

我们中的一些人总是不得不使用Microsoft的Visual Studio 6.0 IDE支持"遗留"代码 - 尽管意见不同 - 与Visual Studio系列IDE的后续版本相比,通常被认为不那么友好.

因此,我想了解一些最好的隐藏/记录不佳的IDE功能(可以是C++或VB).通常的做法是每个帖子的一个功能,请.

Tom*_*idd 19

上次我不得不使用VB6时,我想要愤怒地跳出我的皮肤,因为我的鼠标上滚轮,它实际上与Windows中的其他程序一起工作,不起作用.这与VB6的时代以及微软多年来如何改变滚轮功能有关.

这家伙写了一个程序让它工作.

(看起来好像微软也做了多年以来的修复)

  • 是的,我糟糕的网站使它成为Stack Overflow的答案!而且,我花了1.5年才注意到. (4认同)

Mat*_*ard 12

对于VB6,MZ-Tools是一款出色的免费插件.我最喜欢的功能是它的查找功能,以及通过单击按钮查找给定例程的所有呼叫者的功能.它还有其他几个功能,其中一些我偶尔会发现有用.


Mik*_*oss 9

VB6中的自定义代码模板

我不知道这是否真的是一个"隐藏"功能,但总是认为这是一个很好的节省时间.

您可以为类,模块,表单等创建自己的自定义模板,并在IDE中使用它们.例如,我通常喜欢Collection在VB6代码中使用强类型类.所以我可能想要一个FooCollection包含Foo对象的东西,而不是一个普通的老东西Collection.我不想Collection每次需要一个新的强类型时重新实现接口Collection,所以我创建了一个包含所有样板Collection代码的新类模板.现在,每当我向项目添加新的类模块时,我的自定义TypedCollection模板都可以作为选项使用.然后我只是重命名新添加的类FooCollection并用"As Foo"替换所有出现的"As Object"(其中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,模板类将显示在可用类模板列表中.


Joh*_*ing 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;
Run Code Online (Sandbox Code Playgroud)

如果我有这个代码:

MHDATE today;
GetDate(&today);
Run Code Online (Sandbox Code Playgroud)

...然后today进入观察窗口,我会看到这样的事情:

today    {...}
Run Code Online (Sandbox Code Playgroud)

现在去把它添加到AUTOEXP.DAT的末尾(它只是一个文本文件)

tagMHDATE=date=<nMonth>/<nDay>/<nYear>
Run Code Online (Sandbox Code Playgroud)

......现在我在Watch窗口中看到了这个:

today    {date=10/8/2008}
Run Code Online (Sandbox Code Playgroud)


jpo*_*poh 6

我将从VS C++功能开始,这为我节省了大量时间:在调试器的监视窗口中将",su"(不带引号)附加到unicode字符串使您可以查看字符串的值(而不是该字符串的内存地址)


rav*_*ven 6

VB6中的Erl函数.如果在VB6代码中添加行号,则可以在错误处理程序中通过函数Erl的返回值访问发生错误的行号.


Nem*_*vic 5

有相当多的技巧和窍门在这里.我最喜欢的是放在@err,hr Watch窗口中以获取错误消息.