码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Source Insight 宏-添加单行的c注释


            今天写代码的时候突然想到在代码的上一空行添加一对 /* */ 来添加注释,或者单独注释一行代码,而且是用 c 的注释方式,即使用 /**/,如想要在光标处添加 /**/

    或者注释掉光标所在的行,如:

    实际的效果就是这样,空行直接添加 /**/

    而当要注释代码行时,是这样的:

    如果是当前行只有 // 注释,则可以操作添加 /**/, 如:

    但是当该行已经有 /**/ 注释了,再操作将不会添加成功,因为嵌套的 /**/ 会失效的。宏的实现如下:

    1. macro AddCLanguageCommentInOnekLine()
    2. {
    3. hwnd = GetCurrentWnd()
    4. LnFirst =GetWndSelLnFirst(hwnd) //取首行行号
    5. LnLast =GetWndSelLnLast(hwnd) //取末行行号
    6. hbuf = GetCurrentBuf()
    7. //选择一行,或未选中情况下光标所在的行
    8. if(LnFirst == LnLast)
    9. {
    10. buf = GetBufLine(hbuf, LnFirst) //取光标所在行的内容
    11. strLen = strlen(buf)
    12. ch = 0
    13. blankLine = True
    14. headStr = ""
    15. while(ch < strLen)
    16. {
    17. if(AsciiFromChar(buf[ch]) >= 33 && AsciiFromChar(buf[ch]) <= 126) //可打印的字符范围,不包括空格
    18. {
    19. blankLine = False
    20. break
    21. }
    22. headStr = cat(headStr, buf[ch])
    23. ch = ch + 1
    24. }
    25. //如果是已经注释的行,则啥也不做
    26. if(ch != strLen) //不相等下面才不会越界
    27. {
    28. if((buf[ch] == "/" && buf[ch+1] == "/")
    29. || (buf[ch] == "/" && buf[ch+1] == "*"))
    30. {
    31. stop
    32. }
    33. index = 0
    34. count = 0
    35. while(index < strLen)
    36. {
    37. if((buf[index] == "/" && buf[index+1] == "*") ||
    38. (buf[index] == "*" && buf[index+1] == "/"))
    39. {
    40. count = count + 1
    41. }
    42. index = index + 1
    43. }
    44. }
    45. //已经有 "/**/" 的注释了,再加就不生效了,但可以在行首添加 "//",这里就不做了
    46. if(count == 2)
    47. {
    48. stop
    49. }
    50. //空行,或是光标所在位置前全部是空格,即没有代码的行
    51. if(blankLine)
    52. {
    53. buf = cat(buf, "/* */")
    54. PutBufLine(hbuf, LnFirst, buf)
    55. }
    56. else
    57. {
    58. buf = strmid(buf, ch, strLen) //取所在行的代码,即不包括前面的空格
    59. buf = cat("/* ", buf) //给代码加上 "/**/"
    60. buf = cat(buf, " */")
    61. buf = cat(headStr, buf) //加上代码前的空格
    62. PutBufLine(hbuf, LnFirst, buf)
    63. }
    64. }
    65. }

     完美。

  • 相关阅读:
    js红宝书学习笔记(一)引用类型
    堆(完全二叉树的一种) 模拟
    Vue.js+SpringBoot开发个人健康管理系统
    东方博易OJ——1000 - 【入门】熟悉一下Online Judge的环境
    mac安装jdk
    互联网摸鱼日报(2022-12-01)
    vue的路由守卫中,在beforeRouteEnter中动态获取路由地址信息之to、from、next & vm的使用
    久经沙场的程序员居然也被某鱼的假程序员骗了,程序员之间的信任应该是最高的,他一个人毁了这种信任感
    矿物鉴定VR实践教学平台:打造全新的沉浸式学习体验
    ​软考-高级-信息系统项目管理师教程 第四版【第17章-项目干系人管理-思维导图】​
  • 原文地址:https://blog.csdn.net/tianyexing2008/article/details/132721528
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号