C++ 环境配置 1

  1. 环境设置(Environment Settings

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

    2.1 配置Tab键所占的字宽

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

    2.2 配置代码颜色

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

    2.3 设置前后的效果对比

        代码显示的效果 
     

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

    1. 工作区域设置(Workspace Settings

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

      1.  
        1. 调整工具栏(Tool Bar

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

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

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

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

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

          1.  
            1. 调整Workspace的位置

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

                  Workspace窗体指的是:

              1.  
                1. 关闭Output窗体

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

                      Output窗体指的是:

                  1.  
                    1. 设置前后的效果对比

                          设置前: 
                       

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

                      1. 工程设置(Project Settings

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

                        4.1 设置Precompiled Headers

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

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

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

                                选择菜单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

                            1. 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)。

                              1.  
                                1. 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窗体。

                                  1. 快捷键(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 属性

                                    1. 总结

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

                                          对于VC,有一个VC Assistant的软件,很不错。

                                      posted on 2011-04-20 14:57  不知道  阅读(1397)  评论(0编辑  收藏  举报

                                      导航