`
ldb19890624
  • 浏览: 243845 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

VC6功能增强插件TabBars介绍

 
阅读更多
<!-- Search Google -->
Google 输入您的搜索字词 提交搜索表单
<!-- Search Google -->

Visual C++ 6.0的集成开发环境对项目文件的管理功能比前几个版本有了很大的增强,但是对打开文档窗口的管理和普通的MDI编辑软件一样,只能通过窗口菜单切换,使用起来很不方便。2001年的时候我在网上见到了一款名为“WndTab”的VC插件,它提供了一个集成在编辑窗口的table标签栏,每个打开的文档对应一个标签栏的按钮,通过鼠标点击按钮可以在文件之间快速切换,大大方便了代码查看和编辑,除此之外,这个插件还提供了C++程序文件和头文件互相切换功能(注:2003年的时候“Wndtab”插件还在开发,功能更多,还支持二次插件开发,但同时不稳定的毛病加重了,且占用资源太多,内存太少使用起来很困难)。这个插件一下子就征服了我(sorry,那个时候我不知道VA),通过对“WndTab”的使用,我也发现了很多问题,比如,文件切换只能在同一个目录中进行,当程序文件和头文件分别放在不同的目录中时就不能切换。还有一个很大的问题就是“WndTab”提供了很多并不实用(仅仅是本人的看法,如有雷同,实属荣幸)而且繁琐、容易出错的功能,比如对标签栏的重组和编号功能,这个功能在频繁地打开和关闭文件时经常令VC的IDE崩溃。好在“WndTab”的作者公开了源代码,于是我就开始研究“WndTab”的代码,于是便有了借鉴“WndTab”的成功经验,开发一个功能更实用且简单、稳定的插件的想法,于是“TabBars”便在2002年诞生了。
“TabBars”插件借鉴了“WndTab”插件的框架,大刀阔斧地去掉了标签栏重组和编号功能,简化了table标签栏的界面布局,使用Button风格的自画table控件,重新设计了工具栏图标,界面更加美观。持此之外,TabBars还添加了很多实用的功能,比如自动保存文件,C++程序文件和头文件互相切换支持多目录搜索功能,注释选定的代码块,从注释的代码块中恢复代码,为函数添加格式化函数声明,注释代码时自动添加操作者信息,自动保存编译过程,自动保存文件等等,所有的功能都支持快捷键。“TabBars”坚持开源品质,2002年发布的同时也发布了源代码,当时在网上引起了很大的反响,很多朋友提出了宝贵意见,修改bug,于是便有了很多个版本,我一直根据朋友的意见修改并维护着一个自己的版本,并通过http://www.winmsg.com/cn/orbit.htm发布,随后由于工作的原因有一段时间不能接触网络,新版本“TabBars”的发布也受到了影响,但是对“TabBars”的改进一直没有停止。2003年,我和Codeproject上的.dan.g.联系,征得他的同意后将“项目代码自动打包”和“OpenZip”两个功能添加到了“TabBars”(注:请参考codeproject上的文章:Zip-up the source code for your latest CodeProject article),我同时对这两个功能进行了修改,原来的“项目代码自动打包”功能只能将dsp目录中的文件打包,但是考虑到很多软件项目的代码文件和头文件都是分布在不同的目录中,只打包当前目录有些不妥,于是添加了指定整个目录打包的选项。2004年,我又将.dan.g.的“在代码中添加 Visio-like diagrams的功能”集成到“TabBars”中(注:请参考codeproject上的文章:Add and edit diagrams in your code with this 'Visio-like')。这两次修改的版本都没有正式发布,只在朋友们中间小范围测试使用,并不断修改。2005年4月,“TabBars”的测试工作完成,正式定版发布,版本号为:1.0.17.3169,2005年6月,代码整理完成,同时发布源代码。
本文主要介绍TabBars插件的功能和使用方法,关于如何编译、调试“TabBars”源代码和代码解读的问题,请参阅“http://blog.csdn.net/orbit/”上的“TabBars”系列文章。
说了这么多,你一定想知道“TabBars”到底什么样子?有什么功能?如何使用?下面就介绍“TabBars”的功能和使用方法。图(1) 就是“TabBars”集成到VC编辑环境后的界面,上面是一个工具条,下面是用于文件快速切换的table标签栏:



图1. 集成到VC编辑环境的“TabBars”

一 使用table标签窗口快速切换文件

在一个大的项目中浏览不同文件中的代码是一件痛苦的事情,VC所能够提供的帮助就是工作区中的“Files”窗口和菜单栏的“窗口”菜单,当项目中的文件很多时使用起来非常不方便。如果能够象属性页窗口那样通过一个Table控件在不同的窗口之间快速切换,就能够大大的提高工作效率。“TabBars”插件就实现了这个功能,“TabBars”插件采用子类化(subclass)技术,通过Hooker过滤工作区窗口的消息维护了一个table标签栏,在新文档窗口创建的时候在table标签栏上创建对应的标签按钮,文档关闭时删除标签按钮。这样开发人员只需要在标签栏的按钮上点击鼠标就可以快速切换到这个文件。在标签栏按钮上点击鼠标右键会弹出属性菜单:


图2. 标签栏属性菜单

通过菜单的关闭窗口功能可以有选择的关闭窗口,通过系统菜单可以访问Windows的文件系统菜单,关于Windows文件系统菜单将在后面介绍。
用户可以在配置窗口设置标签栏的显示属性:


图3. TabBars 选项

在“TabBars 选项”窗口可以设置标签栏的位置,可以在编辑窗口的上面,也可以设置在编辑窗口的下面,满足不同习惯用户的要求。还可以选择是否在标签栏显示图标,是否支持系统菜单以及新打开窗口的位置,对于系统资源比较有限的用户还可以选择打开窗口的最大限制。

二 C++程序文件和头文件快速切换

对于一个管理良好的软件项目,函数的声明和实现通常是分开放在一对对应的程序文件和头文件中,C++更是推崇这种做法,于是在程序文件和对应的头文件之间切换,查看函数的定义和实现就成了一个频繁的操作,“TabBars”插件的C++程序文件和头文件快速切换功能就是为了方便C/C++程序员而设计的。很多插件都有这个功能,但是“TabBars”有自己的特色,那就是支持多目录搜索,使用户在浏览其它库的代码时也能够得心应手。
要切换到当前打开文件对应的程序文件或头文件,只需点击工具栏的图标就可以切换到对应的文件,如果文件没有打开“TabBars”会自动打开文件。通过插件配置窗口可以设置切换文件的搜索路径和文件匹配扩展名:


图4. 文件切换选项

“TabBars”最多支持64个搜索目录,根据软件项目的不同可以选择使用其中的部分搜索目录,“TabBars”只从目录前面有X选择标记的目录中搜索对应的文件。用户还可以指定文件搜索时对扩展名的匹配,图(4)中的配置适用于C/C++文件的切换。“TabBars”首先用指定的匹配扩展名在文件所在的目录搜索对应的程序文件或头文件,如果没有找到对应的文件就会依次搜索用户选择的搜索目录。

该功能的默认快捷键是:Ctrl+Shift+S

三 将当前打开的文件所在目录设为工作目录

有时候开发人员需要频繁地打开位于某个目录中的文件,比如浏览某个软件包代码的时候,可是VC集成环境的“当前目录”却在project文件所在的目录,每次打开文件时文件选择对话框都会自动定位到project文件所在的目录,还要手工换到软件包所在目录,非常不方便。“TabBars”提供的这个功能可以把当前打开的文件所在的目录设为“当前目录”,这样再打开这个目录中的文件时VC的文件选择对话框会自动定位到这个目录,省去很多麻烦。单击工具栏的按钮就可以轻松的改变集成环境的“当前目录”。

四 以文本方式打开资源文件

VC的class wizard在管理资源的时候经常会出错,有时候两个控件被设置为相同的ID,这会导致程序运行过程中存在潜在的错误,另外,有时候开发人员希望几个控件拥有连续的的ID(通常用在一组相同类型的控件消息处理),这就需要手工编辑资源文件。“TabBars”给开发人员提供了不离开集成开发环境就能够以文本方式编辑资源文件的功能。这个功能的使用很简单,首先打开某个资源,资源编辑窗口就成为当前窗口,此时单击工具栏的按钮就可以以文本的方式打开资源文件。

五 为选定的代码添加C风格的注释

这个功能就不多说了,就是使用一对/**/ 将选择的代码编程C风格的注释,如果用户还设置了“自动添加注释信息”,则会在开始位置添加注释信息。使用方法是首先在编辑窗口选择一块代码,然后单击工具栏的按钮,代码注释的效果如下图所示:

图5. C风格代码注释效果

该功能的默认快捷键是:Ctrl+Shift+B


六 为选定的代码添加C++风格的注释

嵌套的/**/注释是不允许的,当选择的代码块中已经有/**/注释的代码块时,使用C++风格的注释就是唯一的选择了。使用的方法是首先在编辑窗口选择一块代码,然后单击工具栏的按钮,代码注释的效果如下图所示:


图6. C++风格代码注释效果

该功能的默认快捷键是:Ctrl+Shift+R


七 从注释代码中恢复代码

这个功能也不用多说了,使用方法是首先在编辑窗口选择一块注释代码,对于C风格的代码块要选择完整的/**/对,然后单击工具栏的按钮。

该功能的默认快捷键是:Ctrl+Shift+U


八 添加格式化函数说明

这个功能就是在函数前面添加具有一定格式的说明,使用方法是首先选择完整的函数声明,下图所示的就是两种正确的选择:


图7. 选择完整的函数声明

然后单击工具栏的按钮,在弹出的对话框中输入对函数的说明和参数解释:


图8. 输入函数说明

下图是生成的说明块的效果:

图9. 格式化函数说明的效果

该功能的默认快捷键是:Ctrl+Shift+F

九 添加Visio-like diagrams

在你的代码中添加几个简单的模块关系图是不是很酷?感谢Codeproject上的.dan.g.为我们完成了这个工作。这个功能的使用很简单,首先在编辑窗口内将编辑光标定位到需要插入图表的位置,然后单击工具栏的按钮,就会弹出diagrams编辑窗口:


图10. diagrams编辑窗口

下图是生成的代码:


图11. 生成的ASCII图表

如果要修改ASCII图表,只需选择完整的ASCII图表代码块,然后单击工具栏的按钮。

十 VC工程代码自动打包

直接在集成开发环境中将整个项目的源代码打包压缩成zip文件是一个很实用的功能,“TabBars”对此功能进入了深度开发,使其功能更为完善。当你要打包一个项目的代码时,单击工具栏的按钮就可以了。“TabBars”插件会自动搜索整个工作区的所有项目,然后定位到工作区的根目录,用户也可以根据代码组织的实际情况选择需要打包的代码所在目录,整个界面如图(12)所示:


图12. 打包整个工作区

选择压缩文件的输出位置,单击“确定”按钮就可以了。由于代码所在目录通常还有VC编译生成的临时文件,用户还可以选择打包过程中排除这些文件,在“打包压缩设置”窗口中可以设置文件选择方式:


图13. 打包压缩选项设置窗口

如果选择了“压缩完成后打开文件确认”选项,“TabBars”会在打包完成后自动调用zip文件的关联软件打开生成的压缩包,以确认是否正确生成了压缩文件。

十一 从zip压缩文件中打开VC工程

通常从网上下载的例子代码都是压缩在zip文件中的,查看zip文件中的项目通常要将代码解压缩到临时目录中然后用VC打开项目,“TabBars”提供了不离开VC的集成开发环境就能够查看zip压缩文件中的VC项目的功能。单击工具栏的按钮,在弹出的文件选择窗口中选择VC项目所在的zip压缩文件,“TabBars”会自动在指定的临时目录中展开压缩文件,然后定位到工作区文件并打开。如果一个zip文件中没有工作区(dsw)文件,“TabBars”会弹出窗口让用户选择具体的项目文件(dsp)。如果zip文件中有多个工作区文件,“TabBars”会弹出如下窗口让用户选择一个工作区:


图14. 选择工作区

用户可以通过图(13)所示的“打包压缩选项设置窗口”设置临时文件存放目录,默认的临时文件存放位置是:C:/unzipped

十二 自动保存文件

“TabBars”提供定时自动保存文件功能。在图(15)所示的设置窗口中可以选择启用或关闭自动保存功能。


图15. 一般设置窗口

十三 自动添加注释信息

“TabBars”提供在注释代码时梓潼添加注释信息的功能,目前的版本支持添加注释人名称和时间戳。可以在图(15)所示的设置窗口中选择自动添加的注释信息。

十四 自动生成工程编译日志

“TabBars”提供生成编译日志的功能,会在dsp文件所在目录生成一个同名的log文件,内部记载项目的编译次数和每次编译的情况,记录编译次数可以为你的软件定版本提供依据。以下时日志文件的部分内容示例:

/本日志文件由 "Tabbar Add-in(1.17.3169) For Visual C++ 6.0" 创建
//项目文件:C:/unzipped/CustDlg/CustDlg.dsp
//如果文件增长的很大请删除除本节之外的其他信息

[MAIN]
nBuildNumber = 49

[Build00000001]
sStartTime = 2005-08-18 16:17:53
sCompileUser = orbit
nErrors = 0
nWarns = 0
sEndTime = 2005-08-18 16:17:57

[Build00000002]
sStartTime = 2005-08-18 16:19:32
sCompileUser = orbit
nErrors = 0
nWarns = 0
sEndTime = 2005-08-18 16:19:33

可以在图(15)所示的设置窗口中选择是否记录日志以及日志记录的内容。

十五 在table标签栏使用Windows系统菜单

在table标签栏单击鼠标右键会弹出文件属性菜单,如果你在“TabBars选项”窗口中选择“在右键菜单使用系统菜单”选项,则还可以使用Windows的系统菜单,不离开VC的集成开发环境就可以进行常规的文件操作:


图16. 系统菜单示例

分享到:
评论

相关推荐

    TabBars---VC6 IDE增强插件

    Visual C++ 6.0的集成开发环境对项目文件的管理功能比前几个版本有了很大的增强,但是对打开文档窗口的管理和普通的MDI编辑软件一样,只能通过窗口菜单切换,使用起来很不方便。2001年的时候我在网上见到了一款名为...

    vc6代码补全插件VC6.0_VA_X.zip

    标题中的“vc6代码补全插件VC6.0_VA_X.zip”指的是为Visual C++ 6.0(简称VC6)开发的一款增强型代码补全插件。这款插件名为VA_X,旨在提高开发者的编程效率,尤其是在编写C++代码时提供智能提示和自动完成功能。 ...

    VC6显示行号插件

    总的来说,"VC6显示行号插件"是一个实用的工具,它弥补了VC6原生功能的不足,提高了开发效率。通过简单的安装过程,用户可以在经典的VC6环境中享受到现代IDE的便利性。不过,用户应当注意,由于插件是由第三方开发的...

    VC6显示行号插件VC6LineNumberAddin.dll.zip

    软件介绍: vc 6.0编程软件中一款很有用的用于显示行号...运行VC6,从菜单中依次找到Tools -&gt; customize -&gt; Add-ins and Macro Files然后选择VC6LineNumber Developer Studio Add-in就可以添加插件成功了。

    VC6LineNumberAddin_VC6行号_vc6行号注册_

    1. **重启VC6**:安装插件后,可能需要重新启动VC6才能使行号功能生效。 2. **插件冲突**:如果已安装其他VC6插件,可能会存在冲突问题,导致某些功能无法正常使用。此时,可以通过禁用或调整插件顺序来解决问题。 ...

    VC6上经典的插件

    一些VC插件的简介 ... VA从5.0一直到现在的VAX,功能越来越强大,除了以前版本中的...功能:非常好的一套应用于vc6的界面扩展类库,轻松的作出 vc2003 的界面。并且给了各种界面例子,如vc.net、outlook、更换皮肤等等。

    VC6显示行号插件_VC6LineNumberAddin

    本文将详细介绍如何使用"VC6LineNumberAddin"这个插件,以帮助VC6.0用户提升编程效率。 **一、插件介绍** "VC6LineNumberAddin"是专为VC6.0设计的一个行号显示插件。它允许用户在源代码编辑器中看到每一行代码的...

    VC6显示行号插件.zip

    总的来说,"VC6显示行号插件"为VC6.0用户提供了一个方便的功能,使他们能够在传统的开发环境中享受到现代IDE的一些便利。通过简单地安装和配置,开发者可以更高效地进行代码编写和调试,提高了整体的编程体验。虽然...

    用VC6编写Word插件代码

    本文将深入探讨如何使用Visual C++ 6(简称VC6)来编写Word插件,以此来提高工作效率和定制化程度。首先,我们需要理解的是,VC6是一款经典的集成开发环境(IDE),虽然它已经有些年代,但对于初学者和熟悉MFC...

    VC6插件String Watch

    String Watch插件是专为VC6设计的一个增强型调试工具,它的主要功能是扩展VC6的调试器,使其能够方便地查看和监视完整的字符串变量内容。在默认情况下,VC6的Watch窗口对于字符串类型的数据,通常只能显示前几个字符...

    用VC6编写Office插件

    总的来说,通过VC6开发Office插件是一项技术含量较高的工作,但掌握了相关技能后,你将能够创建出定制化的解决方案,极大地提升Office应用的效率和功能性。对于有兴趣深入学习的开发者来说,这是一个非常有价值的...

    vc6显示行号的插件

    然而,原生的VC6并未直接提供显示代码行号的功能,这使得在编写和调试代码时可能会带来一些不便。因此,为VC6添加显示行号的插件变得很有必要。 "vc6显示行号" 插件正是解决这个问题的一个解决方案。这个插件允许...

    VC6插件系列

    功能:非常好的一套应用于vc6的界面扩展类库,轻松的作出 vc2003 的界面。并且给了各种界面例子,如vc.net、outlook、更换皮肤等等。 Comment Wizard 功能:Visual C++插件,提供了Visual C++源代码注解标准化与自动...

    TabBars多标签插件,VC6用,比WndTabs更好用!

    不多说了,用过的都知道,基于WndTabs开发,功能更强大,该zip带有bin文件和源代码! 不需要研究代码的,直接把demo_cn目录下的TabBars.ini和...然后到VC6里面,Tools--Customize--add-ins里面勾选TabBars就OK了!

    vc6 显示行号 插件

    总的来说,“vc6 显示行号 插件”是一个提升VC6开发体验的实用工具,它通过简单的安装和配置,让开发者能够在经典环境中享受到现代IDE的一些便利功能。对于那些仍然坚守在VC6阵地的程序员来说,这是一个非常有价值的...

    vc6 wndtabs 分页插件

    WndTabs插件的核心功能是将原本独立的VC6窗口以标签的形式整合在一起,这样用户无需在任务栏或窗口之间反复切换,只需点击标签即可快速定位到所需的工作界面。这极大地优化了开发环境的用户体验,尤其是在处理大型...

    VC6 显示行号插件(无限制版)

    【VC6 显示行号插件(无限制版)】是一款专为Visual C++ 6.0(简称VC6)开发的实用工具,它解决了原生VC6 IDE不默认显示代码行号的问题。通常,VC6在未安装此类插件时,用户无法直观地看到代码的行号,这在调试和...

    VC6.0行号及崩溃处理插件

    本文将详细介绍一款专为VC6.0设计的行号显示和崩溃处理插件,该插件已被证实能够有效提升VC6.0的使用体验。 首先,行号显示功能对于代码阅读和调试至关重要。在编写代码时,行号可以帮助我们快速定位到问题所在位置...

    vc6 高亮显示 自动补齐 好用的插件

    该插件名为VA_X,可能代表Visual Assist X,这是一个广受欢迎的VC6插件,提供了丰富的代码辅助功能,包括但不限于高亮显示、自动补全、代码导航、重构等。它的安装和配置相对简单,一旦启用,将极大地提升VC6的开发...

    VC6显示行号插件免费下载

    标题中的“VC6显示行号插件免费下载”指的是为Visual C++ 6.0(简称VC6)开发的一种增强工具,它允许用户在代码编辑器中显示行号。在编程过程中,行号是一个非常实用的功能,可以帮助开发者快速定位代码位置,便于...

Global site tag (gtag.js) - Google Analytics