Visual Studio 6提示和技巧

时间:2020-03-06 14:51:30  来源:igfitidea点击:

我们中的某些人总是必须使用Microsoft的Visual Studio 6.0 IDE支持"旧版"代码,尽管与后来的Visual Studio系列IDE相比,尽管意见会有所不同,但人们通常认为观点不那么用户友好。

因此,我想听听一些我们最好的隐藏/记录不良的IDE功能(可能适用于C ++或者VB)。按照惯例,请每个帖子添加一个功能。

解决方案

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

Shift-Alt-Enter键增加编辑器窗口的大小

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

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

对于VB6,MZ-Tools是一个了不起的免费插件。我最喜欢的功能是它的查找功能,并且只需单击一下按钮就可以查找给定例程的所有调用者。它还具有其他一些功能,有时我发现其中一些有用。

VB6中的自定义代码模板

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

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

与我的自定义类模板示例保持一致,这是工作:

  • 打开IDE并开始一个新项目(我通常只是执行Standard EXE,因为在这里选择什么都没有关系)。
  • 向项目添加一个新类。这将成为模板。
  • 对模板类进行编码。基本上,只要编写我们想在其他项目中可以重复使用的任何样板代码即可。这是直接的VB代码,没什么特别的。
  • 完成后,将文件保存在C:\ Program Files \ Microsoft Visual Studio \ VB6 \ Template \ Classes文件夹中(注意:其他子文件夹,例如Forms等,是用于其他种类的模板) 。 IDE中将显示.cls文件的名称减去扩展名,因此,为了便于阅读,我通常在文件名中包含空格。
  • 下次打开IDE并单击"项目"->"添加类模块"时,模板类将出现在可用类模板列表中。

CodeShine:VB6代码重构加载项(免费)。包括重构,例如提取方法,引入解释变量,提取函数,引入解释变量,重命名等

http://www.wsdesigns.com/CodeShine/default.htm

快速宏始终是我个人的最爱。并不是真正的隐藏功能,而是非常有用的,并且VC6是最后一个版本,它们足够快地变得有用(在MS重新编写宏引擎以使用.NET之前)。

这里有很多提示和技巧。我最喜欢的是放置@ err,hr

在"监视"窗口中获取错误消息。

我们可以编辑文件" 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    {...}

...然后在监视窗口中放置"今天",我将看到类似以下内容:

tagMHDATE=date=<nMonth>/<nDay>/<nYear>

现在,将其添加到AUTOEXP.DAT的末尾(这只是一个文本文件)

today    {date=10/8/2008}

...现在我在"监视"窗口中看到了这一点:

我对问题的回答:"如果我们对别人的问题不满意,应该自己开始吗?"显示了如何使用所有源路径预填充VC ++。对于从命令行构建但使用msdev进行调试的我们来说,这很有用。

上一次我不得不使用VB6时,我很生气,因为我的鼠标滚轮实际上无法与Windows中的所有其他程序一起使用,因此我想跳出我的皮肤。这与VB6的年代以及Microsoft多年来如何更改滚轮功能有关。

这个家伙写了一个程序使它工作。

(而且自微软做出修复以来,看起来也是如此)

将用于启动VB6的快捷方式上的"开始于"属性更改为源代码目录的根目录。每次从IDE中打开项目时,这将节省许多浪费的鼠标单击。

段落数量不匹配