文章目录

  • 添加注释工具快捷键
    • 自定义命令快捷键
    • 添加注释工具图标
  • 使用`#if 0`代替块注释
    • 为什么使用#if 0注释
    • 添加插入外侧代码工具
    • 使用快捷工具进行 #if 0 注释

添加注释工具快捷键

在C/C++中提供了两种注释方式,行注释// 与 块注释 /* .. */ ,而这两种注释方式在VS编译器中对应的快捷键 ctrl + k+ctrl + c 注释代码、ctrl + k+ctrl + u 取消代码注释。

如果我们嫌这样的快捷键不太方便的话,我们也可以将对应命令自定义修改为熟悉的按键规则。

自定义命令快捷键

打开【工具】——》【选项】

打开之后,选择【环境】——》【键盘】

在命令搜索框中搜索相关命令,然后按下对应键盘的响应的方式即可。

最后点击分配,确定即可完成快捷键的设置,其他命令的快捷键设置与之同理。

此外,也可以直接在编译器上添加图标,下面介绍如何添加注释的图标。

添加注释工具图标


当出现文本编辑器的工具栏时,找到该工具栏对应末尾位置,点击一个下拉三角图形,选择【添加或移除按钮】

勾选相应工具即可

如此以来我们注释代码就会很方便。

gif演示:选中代码块左侧对齐,自动选择行注释,选中代码块左侧不对齐,自动选择块注释。

使用#if 0代替块注释

博主在平时写代码时,经常会用到调试功能,而在调试时常常会遇到一些已经模糊记忆的库函数,类成员方法。一般这种时候,我都会注释掉当前代码,写上一部分测试用例先熟悉一下这些函数方法。

另外,我们都知道在一个工程文件中只能有一个main主函数,而在平时的学习和代码积累中每次都新建一个解决方案太过麻烦,这种情况下我一般也会选择注释掉旧的代码,继续在原项目中写代码。

因此,在平时的写代码时间中,使用注释是非常频繁的。因此,博主把一些使用上的心得在这里分享一下。

注:我这里使用#if 0 注释是为了,阅读代码和管理代码的方便,只限于个人的日常使用,而在具体项目中使用这种方式注释会带来什么问题我也无法预料,这里需要留意一下。

为什么使用#if 0注释

在C/C++中的块注释有一个缺点就是,不能嵌套使用,比如下面已经使用过块注释了。

而当我们想重新写一个main函数,但当前main函数又不想删掉,之后可能还会使用时,我们就需要注释掉当前的mian函数。但由于块注释不能嵌套使用,因此下面的用法是错误的。

如过我们想注释掉含有块注释的代码,一般来说有两种选择。法一,我们把之前的块注释取消掉,在对整个main函数进行注释;法二,使用行注释对每一行进行注释。

由于我们之后可能会再次用到该段代码,因此保留当前代码的相对完整是很有必要的,因此这里比较好的方式是使用行注释对每一行分别注释,好在vs提供了快捷键可以一次对多行进行注释。


但是我们发现,使用这种方式注释的代码非常丑陋,而且非常不便于阅读。

那么我们可以使用 #if 0 ... #end 的方式进行注释,这是一对预定义宏,可以在预编译时期进行判断,如果 #if FLG if后的值 FLG不为0,中间的代码块进行参与其后的编译工作,否则忽略该段代码进行编译。


可以看到使用这种方式注释,代码非常的直观,甚至我们可以定义多个宏,作为代码段执行的条件。

#define ONE 1
#define TWO 0
#define THW 0
#define FOU 0#if ONE
int main() { cout << "this is ONE"; }
#endif // ONE#if TWO
int main() { cout << "this is TWO"; }
#endif // TWO#if THW
int main() { cout << "this is THW"; }
#endif // THW#if FOU
int main() { cout << "this is FOU"; }
#endif // FOU

遗憾的是,vs编译器并没有直接提供调用#if ... #endif 的快捷键,我们需要手动的在待注释代码的首部与尾部添加 #if 0#endif

不过编译器中提供了“插入片段”和“外侧代码”两种快捷工具,合理的利用也是可以起到相同的效果的。

添加插入外侧代码工具

打开一个工具栏的【添加或移除按钮】,选择【自定义】

选择【添加命令】

选择【编辑】,拖动滑动条,找到“插入片段”或“外侧代码”命令工具。

“插入片段” 或 “外侧代码”


两者任意一个皆可,这里我们选择的是“外侧代码”。

点击确定后,回到【自定义】界面,选中“外侧代码”,我们可以通过上下移调整命令工具的相对位置。

此外,我们也可以修改该命令的快捷键(点击“键盘”选项),或者设置命令工具的样式(点击“修改所选内容”)。

这里我们选择 “修改所选内容” ,将样式修改为“图像和文本”。

命令按钮效果展示:

使用快捷工具进行 #if 0 注释

选中代码段后,点击“外侧代码”按钮。使用Tab键自动默认使用 #if FLAG ... #endif

此外,我们还可以选择对FLAG进行编辑。具体过程为,当出现#if 主体时,此时光标位置就在FLAG上,我们只需要输入判断条件,按下回车后即完成编辑。

vs 添加快捷键 | 修改快捷键、添加注释、添加快速插入代码(使用#if 0 注释)相关推荐

  1. winedt常用快捷键 修改快捷键latex编译按钮

    默认的,常用的,好用的快捷键有: 注释多行:Shift+Ctrl+Alt+右箭头 子窗口切换:Ctrl+Tab Alt+C 在剪贴板原有复制⽂本后增加新的被选择的⽂本 Alt+F12 对选中⽂本进⾏L ...

  2. vs写c语言快捷键,vs快捷键

    很早之前在网上考下来的(忘记是哪个网站了.) 1.窗口快捷键 (大家有没有发现但凡跟窗口挂上钩的快捷键当中都有一个W,那是因为W代表Windows也就是窗口的意思) Ctrl+W,W: 浏览器窗口 C ...

  3. 设计代码说明什么是多态性?如何实现多态?(代码中要写注释解释)_狗屎一样的代码!快,重构我...

    关注后你就是我的人了 重构不止是代码整理,它提供了一种高效且受控的代码整理技术. (一)重构原则 1.何谓重构 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修 ...

  4. 设计代码说明什么是多态性?如何实现多态?(代码中要写注释解释)_狗屎一样的代码!快,重构我!...

    狗屎一样的代码如何重构? 重构不止是代码整理,它提供了一种高效且受控的代码整理技术. (一)重构原则 1.何谓重构 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低 ...

  5. VS编写代码的四种注释(C#),让编程轻而易举

    随着开发的不断深入,随着开发人员的增加,随着开发人员的各种编码风格,如果没有注释,则不同编码人员就很难进行沟通和交流. 注释就像一本书中的前言,这本书对自己有没有帮助,看完前言就知道,这段代码对自己有 ...

  6. VScode修改快捷键,快捷键恢复默认设置,添加或取消注释

    修改快捷键 可以根据需要,搜索 添加或取消注释 默认是: 注释: 先CTRL+K,然后CTRL+C 取消注释: 先CTRL+K,然后CTRL+U 但是建议修改为Alt+1,Alt+2 但是Alt+1, ...

  7. SourceInsight 4.0 之四 项目配置(库文件引入、配置宏添加、快捷键修改等)

    问题   在创建完成 Source Insight 工程后,我们就可以使用绝大部分功能.但是如果用的多了就会发现,其与我们真正的 IDE(通常我们仅用 Source Insight 编辑代码,实际的编 ...

  8. intellij IDEA修改快捷键以及添加菜单快捷键

    想了解更多数据结构以及算法题,可以关注微信公众号"数据结构和算法",每天一题为你精彩解答.也可以扫描下面的二维码关注 1,IDEA修改快捷键 IDEA的快捷键有很多,有的时候大家可 ...

  9. UltraEdit 给代码注释添加快捷键

    问题: UltraEdit功能强大,使用方便,成为软件开发者必备的文档和代码编辑工具.有很多人也直接用它来写代码,如C/Java,脚本如:Perl/Tcl/Javascript 等. 如果用来写代码, ...

最新文章

  1. 状态管理框架开发不完全指南
  2. html css 极简模板,极简主义作品展示HTML模板
  3. STC89C52单片机 定时器
  4. SAP License审计说明及合并
  5. 遥控器按键不灵的修复方法
  6. Java数字图像处理基础知识 - 必读
  7. halcon模板匹配干扰边缘消除办法(最硬核方式)
  8. OceanBase杨传辉:一体化架构的分布式数据库已成为企业级系统首选
  9. HTML精仿ios相册,iOS开发-仿微信相册选择Demo
  10. 对于怎么理解js中Event Loop,你可以看这篇文章
  11. 如何安装vscode网页版_如何让用编辑器编写EverNote?
  12. mysql数据库集群版_MySQL数据库集群实战
  13. 最新:斐讯K3千兆无线路由器刷官改版固件的详细图文教程
  14. 一阶惯性环节如何实现跟踪性能与滤波性能共存(三)
  15. 比特鹏哥第一节课笔记
  16. FFmpeg获取视频正确的宽高比
  17. Linux终端更改字体
  18. 大厂对ChatGPT的开发利用和评估案例收录
  19. ASP对接国际验证码接口DEMO示例
  20. android framework 引入jia包

热门文章

  1. Ubuntu18.04右上角没有输入法图标解决
  2. Windows无法启动MongoDB Server服务(错误1053)
  3. Cocos2dx3.2编写常用UI组件(四)发光的标题BlinkTitile
  4. PHP开发网站之微信登录、绑定
  5. STM32编译报错 Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_hd.o).——解决办法
  6. 【教学类-07-03】20221106《破译电话号码-图形版(2类)+自制(PDF打印)》(大班主题《我要上小学》)
  7. MATLAB 怎样将文本复制到剪切板
  8. 怎么输入MathType不等号
  9. Android布局属性大全
  10. YUYV转灰度图和JPG图片