一些VC的快捷键以及调试方法技巧

1.检测 程序 中的括号是否匹配   - u6 Q( Q$ I/ L! Y- ^* B
把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号 <>)前面,键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。   . W* W- F" y0 I" L; |

2.查看一个宏(或变量、函数)的宏定义     k6 q& w2 ~4 w2 w& S& o
把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go  To  Defition  Of  …),如果没有建立Browse  files,会出现提示对话框,确定,然后就会跳到定义那些东西的地方。   ' ?5 [/ [/ s( O' d# |
, u- R! V2 v) q, }/ e0 W
3.格式化一段乱七八糟的 源代码   
选中那段源代码,按ATL+F8。   + u; \& m, D" j9 t6 q$ L" i& w

4.在编辑状态下发现成员变量或函数不能显示  
删除该项目扩展名为.ncb文件,重新打开该项目。  

5. 如何 整理ClassView视图中大量的类   * d# U' h. t: o3 m/ o
可以在classview  视图中右键新建文件夹(new  folder),再把具有相近性质的类拖到对应的文件夹中,使整个视图看上去清晰明了.  

6.定位预处理指定  
在源文件中定位光标到对称的#if,  #endif,使用Ctrl+K.   % ?! J% }1 d$ l0 I* O; S0 O& M' @

7.如何添加系统中Lib到当前项目   4 x* B: Z: k& s4 E4 ~  v  D& Y
在Project    |  Settings    |  Link    |  Object/library  modules:输入Lib名称,不同的Lib之间用空格格开.  

8.如何添加系统中的头文件(.h)到当前项目.   5 k& A7 I7 C. l/ z* k- k
#include  ,告诉编译到VC系统目录去找;使用#include  "FileName.h",告诉编译在当前目录找.   * ?  z& H% M7 ~; X6 [) F
1 o$ V0 O" o, \+ Y6 l1 @
9.如何在Studio使用汇编调试   $ @9 `) I! e6 d4 A, X4 I) o; h
在WorkBench的Debugger状态下按CTRL+F7.  
2 K0 k4 v7 h, q1 q3 G6 g$ R
10.怎样处理ClassZiard找不到的系统消息  
如果要在ClassWizard中处理WM_NCHITTEST等系统消息,请在ClassWizard中Class  Info页中将Message  filter改为Window就有了.   # I7 {! O! C' I# y+ @/ Y
6 D% I& p% Z3 F. l9 r
11.如何干净的删除一个类  
先从Workspace中的FileView中删除对应的.h和.cpp文件,再关闭项目,从实际的文件夹中删除对应的.h和.cpp文件与.clw文件。   3 X2 |& C/ b1 M
9 G2 ~9 T% j% Q
12.如果让控制台 应用程序 支持mfc类库  
可以在控制台应用程序中include  来引入mfc库,但是控制台应用程序缺省是单线程的,mfc是多线程的,为解决该矛盾,在project  setting->c/c++  选项,选择code  generation,在use  run-time  library  下拉框中选择debug  multithread。   : \) U" c% Y& q

13.如何汉化只有可执行代码的.exe  文件   * n8 k2 u& y0 C) m- `8 ]0 a
在nt  下利用vc  open  file  以resources方式打开*.exe  文件,直接修改资源文件,然后保存即可。   4 {7 H6 z, Y' `0 Z! F6 W
* w! [3 x$ ~  t4 N
附:VC项目文件说明   # P* V7 ]% ^& ~; o$ n0 q) [- \
.opt  工程关于 开发 环境的参数文件。如工具条位置等信息;   2 C& C# u* G" j/ L0 J7 O% }- n5 i

.aps  (AppStudio  File),资源辅助文件,二进制格式,一般不用去管他.  
  A: P( i& ^% x5 \- d3 B8 d
.clw  ClassWizard信息文件,实际上是INI文件的格式,有兴趣可以研究一下.有时候ClassWizard出问题,手工修改CLW文件可以解决.如果此文件不存在的话,每次用ClassWizard的时候绘提示你是否重建.   ( m8 i  h, i* M/ q" ?2 J2 d5 V

.dsp  (DeveloperStudio  Project):项目文件,文本格式,不过不熟悉的话不要手工修改.DSW(DeveloperStudio  Workspace)是工作区文件,其他特点和DSP差不多.  

.plg  是编译信息文件,编译时的error和warning信息文件(实际上是一个html文件),一般用处不大.在Tools->Options里面有个选项可以控制这个文件的生成.  
% }% j) K; e3 _- |% \" M
.hpj  (Help  Project)是生成帮助文件的工程,用microsfot  Help  Compiler可以处理.   $ A2 U. N* p! I. N5 p5 {8 R5 L

.mdp  ( Microsoft   DevStudio  Project)是旧版本的项目文件,如果要打开此文件的话,会提示你是否转换成新的DSP格式.  

.bsc  是用于浏览项目信息的,如果用Source  Brower的话就必须有这个文件.如果不用这个 功能 的话,可以在Project  Options里面去掉Generate  Browse  Info  File,可以加快编译速度.  
9 J" s; }! _+ K
.map  是执行文件的映像信息纪录文件,除非对系统底层非常熟悉,这个文件一般用不着.   & ?+ |; t( q# x. g

.pch  (Pre-Compiled  File)是预编译文件,可以加快编译速度,但是文件非常大.   ( h0 P. s4 J7 Y1 C  d. d9 k

.pdb  (Program  Database)记录了程序有关的一些数据和调试信息,在调试的时候可能有用.  
% ?) V, e# Z3 F) J; K8 k0 J7 o
.exp  只有在编译DLL的时候才会生成,记录了DLL文件中的一些信息.一般也没什么用.   / g" [' n) u9 A
; s3 ~  \! D& y
.ncb  无编译浏览文件(no  compile  browser)。当自动完成功能出问题时可以删除此文件。build后会自动生成。 

//  选择字符    g* H7 `9 @3 e/ _" J
1.  (COOL)按下Alt  键不放,点击鼠标左键拖动,可以选择文本块、可选择列。  3 ~1 Z$ N( n# m5 l" b
2.  安着Ctrl键不放,单击一个单词,可以选择一个单词,或双击。  8 v! s! M1 @2 M) X; ]5 G
3.  将光标移在开始位置,按住shift点击鼠标左键可选择一段(在IE浏览其中照样可  $ e- m% |# v, C( F5 N
    用,看不到光标而已, 
4.  双击鼠标左键可选择一个单词。 
5.按住shift+上下方向键    可选择行。  : L6 o6 j5 s8 f" w
6.按住  ctrl+shift+左右方向键  可选择一个单词。 
7.            按Ctrl  +  C  可COPY光标所在的这一行。 
8.            按住shift+[End]  可选择本行。 

// 




          F1 显示帮助,如果光标停在代码的某个字符上,显示MSDN中相应的帮助内容 

          F2 书签功能: Ctrl+F2 --在某行设置一个书签(再按一次次是取消)  ( I& f7 a6 j! }& E

          F2 --跳到下一个书签位置 
. O& Z/ J! ?8 d% u8 e
          Shift+F2 --跳到上一个书签位置  " [8 }' r! z3 T) {
; {! p- L6 c- |: ?+ _) I8 ~
          Ctrl+Shift+F2 --删除所有书签 

          F3 查找: Ctrl+F3 --在文件中查找,如果当前光标在一个 字符串 上,  ( T: `; J4 k3 {+ C* W

          那么自动查找此字符串.相似的有Ctrl+F 

          F3 --查找文件中下一个串 

          Shift+F3 --查找文件中上一个串 
* V6 ]. u( H9 F
          F4(不是流行花园那个) 如果是编译后或者Find in Files后,可以逐条定位.  8 J* \2 F8 A) h  f: g. Y+ }8 i  Q

          Ctrl+F4 --关闭文件  % e( T* T" n+ @7 x
" u3 M" o: ]1 r$ f- F) w  z3 ]( [; |
          Alt+F4 --关闭VC(跟WINDOWS定义的一样) 

          F5编译并执行 F5 --编译并通过VC执行  . d4 V" A/ e; s9 Y- k8 U' Y

          Ctrl+F5 --不经过VC,直接执行编译后的exe  4 \) _- r# f1 T2 M3 \: |* d
! g# L; L; x! R! `. ~0 T! p
          Shift+F5 --F5运行后,直接从VC中停止程序(可以模拟当机情况) 
4 N, |, t+ k% r& d- d6 S
          Ctrl+Shift+F5 --重新开始运行 

          F6切换窗口 SplitWindow后,可以转换光标所在的窗口  1 E# |. N: J- @3 k1 x: @+ w! J

          F7编译 F7 编译工程 

          Ctrl+F7 编译当前文件  ; ^( i6 w- o: e
' @% Z3 _/ Y: z9 I" I
          Alt+F7 工程设置对话框  " z: z- R4 R/ a

          F8选择的粘滞键 其实更常用的是按住Shift+方向键  % [7 |% V# B% S4 U' Z' O* x

          Alt+F8 选中的代码书写格式对齐  4 l) o* E2 k, w, p

          F9设置断点 Ctrl+F9删除所有断点 
. M0 i* [! X* ^/ g. r
          Alt+F9 显示编辑断点的对话框 
" l4 k3 S$ Z& [! y
          Ctrl+F9断点无效 

          F10单步执行(Debug时) 
7 n- e5 t6 P. u2 i- X# f1 m
          Ctrl+F10 执行到光标所在行  ( p( x0 c3 `! ~- r2 i# M9 W+ M2 [) }
7 d( a# K! t( j, Z6 |) B* h+ T" M# v  K
          (试试看Shift+F10什么效果)  ) J' X6 j: Q# r% R) w1 t6 H
: I, J2 Q0 D5 H9 @1 a& H
          F11跟踪时进入函数内部 

          Shift+F11跳到上一层调用栈    v& g3 C0 J5 c8 \
3 B5 l4 N' F4 ?
          F12跳到函数定义初(需要带Browse Info选项编译,建议不选,生成文件很大) 

    编辑常用 

          Ctrl+W 显示ClassWizard,边界面程序用的比较多 

          Ctrl+Z/Ctrl+Y Undo/Redo  3 z1 ]- m( K# f; q$ m+ {6 \
$ Q& {" U$ N% K& f% `5 B  q
          Ctrl+U 字母转化为小写(有的VC没有设置)  6 p% |7 r/ m( b) @3 _; K! O1 [
1 @) |1 V$ m4 F( J
          Ctrl+Shift+U 字母转化为大写(有的VC没有设置)  ' Z, Q1 R' g7 I: R0 s1 O7 w( N
+ ~2 a  S0 H* U# Q; e' H
          Ctrl+S 保存(强烈建议编码时经常按两下,省得掉电死机时后悔,呵呵, 

                      该键在多数编辑 软件 都适用) 
# B8 I  m9 f9 b
          Ctrl+D 查找(嗯,如果有SOFTICE,那么就是呼叫它了) 
' C3 c$ r6 C4 v
          Ctrl+F 正宗的查找快捷键  " r% Y6 {- a- K+ ^

          Ctrl+G 跳到文件中第n行 

          Ctrl+Shift+G 光标在一个文件名上,直接跳到指定文件 
* `/ M0 Y6 @5 w% F* y8 t
          Ctrl+H 替换 

          Ctrl+J,K #ifdef...#endif查找配对 
0 Y, ~( D+ ^# \! M4 D
          Ctrl+L 剪切一行  , v- |$ V! Y7 C2 {$ U! m# G: t5 U
% l8 X6 p# `( v+ r
          Ctrl+} 匹配括号(),{} 
( P$ Q5 c; k2 Y* I0 S8 a
    调试常用  * Y' I4 F5 s4 f/ j& h4 d

          Shift+F9 QuickWatch,并显示关标所在处的变量值  5 T' A6 ?: r! ?- z# _

          Alt+3 Watch 查看窗口  - G0 V4 N* h. C3 s' Y3 Y
$ O; C8 p9 ?. ~! i! `0 d
          Alt+4 Variables 监视变量(常用) 
; P7 R* W' f2 b( q4 n
          Alt+5 显示寄存器  " |; N2 j$ ~2 G0 `

          Alt+6 显示内存(常用) 

          Alt+7 显示堆栈情况(当机了多看看) 

          Alt+8 显示汇编码  / U1 g8 M3 x) l, J
/ R# ^1 q. O6 O& K; _6 N) @
    还有一些常用的  9 j, }/ o' J% o4 D. f& h
3 P" `( H  [* f- B
          Ctrl+TAB 切换打开的文件视图,(如果按住Ctrl,顺序向后切换)  - v) `: J% Y- g! R2 Y
8 p$ \9 P) G  Z5 d7 j
          Ctrl+Shift+TAB切换打开的文件视图,(如果按住Ctrl,顺序向前切换) 

          TAB 选中后,整体后移一个制表符,  0 ?) B: T( `" a0 x6 h2 q
' ]8 W8 i8 ?% R6 H
          Shift+TAB 选中后,整体前移一个制表符,  7 I: f  j+ c- D$ n! k$ R* ?
- Y  n, a( W$ d; q. U
          Alt+0 将焦点移到工作区(ESC回编辑区)  - \  Y1 R+ P4 d# o: H& [7 h

          Alt+2 将焦点移到输出区(ESC回编辑区) 
7 M3 [4 B+ o8 ~0 u7 }
          Ctrl+PgUp 逆序切换工作区视图  ) {9 \' }' J  J9 G/ _
1 p2 q' a: u- x7 o. ]8 a
          Ctrl+PgDn 顺序切换工作区视图  - [- G8 T2 C' Q, `) {

      另外,VC没有设置打开,关闭工作区,和打开关闭输出区的快捷键,如果觉得不方便,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值