分享

Visual C++ 6.0环境配置的一些小窍门

 mtjs 2011-01-10

概述

    一个好的环境,能让你的工作事半功倍。下面是我个人对VC++6.0的环境配置,仅供抛砖引玉之用。

2. 环境设置(Environment Settings

    设置针对与所有工程有效。打开目录ToolsàOptions,在此作相应的设置。

2.1 配置Tab键所占的字宽

    一般所来,Tab在各个程序中字宽为8,而VC默认把其设为4。我们将其改回8,好处是,当将代码从VC复制到其它程序(如notepad)时,代码不会变乱(不对齐)。如图:

2.2 配置代码颜色

    改动代码的颜色,给我们看代码带来方便。个人的具体配置,可依据个人的喜好。

2.3 设置前后的效果对比

    代码显示的效果 
 

    Tab字宽对VC中复制出来的代码的影响

3. 工作区域设置(Workspace Settings

    我个人的感觉,写代码,就要让代码的可视区域最大,尽量释放代码的显示空间。下面来看看我们该如何做。

1.    调整工具栏(Tool Bar

    Tool Bar上右键,选择Customize…àToolbars,并自己建立一个toolbar,比如角MyToolBar。如图: 

    按住Ctrl键,用鼠标从其它Toolbar上将自己需要的button拖入自己的Toolbar。把一些不常用的 or 已熟悉其快捷键的button通通去掉,尽量减少button的数量,让Toolbar最终只占用一行。见后面的对比图。

    ,看到两个button之间的分隔栏了么。如何增加 or 删除分隔栏呢?这里有点小技巧,不知道VC++的软件设计人员咋想的,设计这么不起眼的方式。

    增加分隔栏:用鼠标点住右边button左半部,出现此效果。向右移动大约半个button的距离,放开鼠标,则会出现分隔栏。

    删除分隔栏:与上面类似,用鼠标点住右边button左半部,出现此效果。向左移动鼠标,直到I样式的东东跑到了分隔栏的左边,放开鼠标,则分隔栏不见了。

2.    调整Workspace的位置

    Workspace窗体放到程序的右边,让其悬浮着,不要与VC++的其它部分连在一起。写代码时,必要时还可把其关掉,增加可视空间。见下面的对比图。

    Workspace窗体指的是:

3.    关闭Output窗体

    写代码的时候不需要Output窗体,多按几下ESC键,就把其关掉了。别怕,下次build的时候,这家伙会自己跑出来的。见下面的对比图。

    Output窗体指的是:

4.    设置前后的效果对比

    设置前: 
 

    设置后:(每一页能看到的代码要多出许多几行)

4. 工程设置(Project Settings

    设置仅对当前工程有效。每次新建一个工程后,都需要进行这些设置,以方便以后的工作。

4.1 设置Precompiled Headers

    平常我们编译程序,在DebugRelease目录下,会发现一个.pch的文件,文件很大,严重占用我们的硬盘空间。其实这个文件没什么用,我们设置一下,让VC不要产生此文件。

    选择菜单ProjectàProject Settings…àC++。然后按下图所示,进行设置。

2.    设置编译后的文件路径

    选择菜单ProjectàProject Settings…àGeneral。然后按下图所示,进行设置。

    Intermediate files,编译时产生的临时文件的地方,生成exe文件后,这些家伙基本上就没用了。我们设置一个路径,让所有工程的临时文件都待在一起,以方便最后一次性将它们删除。我自己将所有的临时文件都存放在d:\compile_temp目录下。

    Output files,生成的exe文件存放的地方,习惯上放在名为bin的目录下。

    例子:

[Release] 
Intermediate files
  d:\compile_temp\工程名\release 
Output files
    bin

    [Debug]

    Intermediate files  d:\compile_temp\工程名\debug

    Output files    bin\debug

5. Console-base的调试环境

    在写程序时,有时在Debug模式下写好的程序,到了Release模式下,就罢工了,不能正常运行。而一开始就写Release程序,又不方便调试。

    下面我们来建立一个console-basewindows程序,这个东西还是挺便于调试的。

5.1 设置Console-base

    新建一个console程序,选择菜单BuildàConfigurations…àAdd,增加一个configuration。名字叫,比如Console_base。如图: 
 

    然后选择菜单ProjectàProject Settings…àC++。并按下图设置: 
 

    加入以下测试代码:

#include <stdio.h> 

#ifdef CONSOLE_PRINTF

#  define CONS_PRINTF printf

#else

#  define CONS_PRINTF //

#endif 

void main()

{

       char *p = "Hello"; 

       CONS_PRINTF( "%d - %s\n",

              10,

              p );

} 

    并编译、链接,看运行的效果。 

Release下,没有任何输出。而在Console_base下,程序输入:10  hello。呵呵,达到我们的要求。下面解释一下这个效果是如何实现的。

    代码中最重要的是这一段:

#ifdef CONSOLE_PRINTF

#  define CONS_PRINTF printf

#else

#  define CONS_PRINTF //

#endif

    当宏CONSOLE_PRINTF存在时,CONS_PRINTF等于printf;不存在时,CONS_PRINTF等于//,将其后面的代码注释掉,让其不起作用。这里应该是VC编译器的一个bug,正是这个bug,帮助我们得以实现所需的效果。

    让我们来看测试的代码:

       CONS_PRINTF( "%d - %s\n",

              10,

              p );

 当宏CONS_PRINTF不存在时,得到的代码本该是:

       //( "%d - %s\n",

              10,

              p );

 编译时,应该会出错的,但在用宏作替换的情况下,编译器不出错(编译器的bug)。

2.    ConsoleWindow共存

    把刚才起作用的代码放到一个头文件中,如cons_printf.h。代码如下:

#ifndef CONSOLE_BASE_DEBUG_UTILITY_H

#define CONSOLE_BASE_DEBUG_UTILITY_H 

#include <stdio.h> 

#ifdef CONSOLE_PRINTF

#  define CONS_PRINTF printf

#else

#  define CONS_PRINTF //

#endif 

#endif 

    并在main.cpp中添加windows的代码and改变main()的内容。如下:

// ... windows app headers

#include "cons_printf.h" 

// ... windows app codes 

void main()

{

       WinMain( GetModuleHandle(NULL), NULL, GetCommandLine(), SW_NORMAL );

} 

    并在Project Settings中,将Release模式的编译方式更便为windows。如图: 

/subsystem,是控制当前编译的是console程序或windows程序的开关。 
/subsystem:windows  
编译为windows程序,程序入口WinMain() 
/subsystem:console   
编译为console程序,程序入口main() 

最后在windows程序中加上测试代码。如下:

case WM_CREATE:

       CONS_PRINTF( "WM_CREATE here\n" );

       break; 

// ... 

case WM_DESTROY:

       CONS_PRINTF( "WM_DESTROY here\n" );

       PostQuitMessage(0);

       break; 

    进行编译,看效果。在Console_base下,程序会在console窗体显示文本。而在Release下,和正常的windows程序一样,只有一个window出现,没有console窗体。

6. 快捷键(Shortcut-key

    为提高我们写程序的效率,快捷键是少不了的东西。下面将列出一些常用的快捷键(依据个人经验而成)。VC中所有的快捷键,可在菜单HelpàKeyboard Map中查到。你还可以在ToolsàCustomize…àKeyboard中,依据个人习惯,定制快捷键。

6.1 文件操作

    在写程序时,打开或新建一个文件,其实使用菜单(menu)的快捷键(例如Alt + F + O)也许比使用特定的快捷键(例如Ctrl + O)更快,感觉按起来更顺手,也许是个人习惯吧。对于菜单中一些没有特定快捷键的选项,便只能用Alt + F + xxx的方式了。

    Ctrl + O or Alt + F + O 打开文件

    Ctrl + N or Alt + F + N 新建文件

    Ctrl + S or Alt + F + S 保存文件

    Alt + F + K 打开工程

    Alt + F + L 保存所有文件

    Alt + F4 关闭当前窗口

6.2 代码间的快速跳转

    VC中有个很有用的东东——flag。它可对你编辑的当前一段代码进行标示,让你下次快速找到这。Ctrl + F2会给当前行加上一个flag,如果当前行已经存在flag,则将这个flag清除。

    Ctrl + F2 设立/清除flag

    Ctrl + Shift + F2 清除所有的flag

    F2 jump到下一个flag位置

    下面是个例子,这是你按F2,即可在两段代码间快速跳转。 

    还有两个快捷键,也很常用:

    Ctrl + Home 跳转到文件顶部

    Ctrl + End 跳转到文件尾部

6.3 编译·运行·调试(debugging

    对于什么是断点、什么是单步跟踪,这里就不再赘述。下面仅列出快捷键。

    F9 break point

    Ctrl + F7 Compile

    F7 Build

    Ctrl + F5 Build and Run

    F5 Build and Run in DEBUG mode

    F10 单步跟踪

6.4 各类常用的window

    Alt + 0 Workspace Window

    Alt + 2 Output Window

    Alt + 3 Watch Window

    Alt + 4 Variables Window

    Alt + 5 Registers Window

    Alt + 6 Memory Window

    Alt + 7 CallStack Window

    Alt + 8 Disassembly Window

    Ctr l+ W ClassWizard

    Alt + Enter 属性

7. 总结

    自己的编程环境应当由自己去感受、去配置。以上对VC设置,很多内容参照了梁肇新的《编程高手笺言》一书。

    

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多