将Source Insight打造成好用的编辑器(98楼下载)
一、比较冷门的小技巧1.列选按住Alt键进行列选,SI列选是框区域。
2.TODO注释高亮
Options->>Preferencess->>SyntaxFormatting,勾选Special comment styles。Options->>Style Properties,在Comment To Do条目设置代码高亮显示方式等。
二、宏
SI的宏很有意思,像C语言语法,可以设置快捷键,提高编程效率。网上有一个Quicker.em宏,比较强大。但是很多功能用不到,添加函数头注释要弹窗输入各个参数,编程时还是尽量少弹窗。自己写了一个,用着还挺舒服。如果有bug希望提出,我来改进。关于使用Quicker教程,网上可以找到。
0.使用方法
添加入Base工程
将miniMacro.em文件拷贝到C:\Users\你的用户名\Documents\Source Insight 4.0\Projects\Base路径下。打开SI软件,选择Project->>Open Project,然后选择Base工程,将miniMacro.em加入工程中即可。
设置快捷键
选择Options->>Key Assignments,搜索miniMacro,添加快捷键,我设置的是Ctrl+Enter。除此之外,我将快速注释宏(quickAnnotate)设为Alt+1,添加函数注释(addFuncHeader)设置为Alt+2,添加行注释(doxygenLineAnnotate)设置为Alt+3。
1.快速注释(quickAnnotate) 命令代码 "//" "///"
如果注释一块区域,需要先选中,然后执行操作。如果区域已经被快速注释,此操作变成去除注释。
如果注释一行,光标移到行的位置上,执行命令即可。
2.添加文件头注释(addFileHeader) 命令代码 "hd" "head" "header"
函数头注释,显示文件名,作者。如果第一次运行,会弹窗输入作者名,作者名会被写入注册表中,下次就不会弹窗了。若要修改保存的作者名,详见修改作者名命令(changeAuthor)。
3.格式化文档命令(formatFile) 命令代码 "fmt""format"
模仿着HAL库注释,添加一些固定的注释内容。自动识别文件类型,如果不是C代码文件,只添加文件头。如果是头文件,会将#ifndef部分添加进去,具体看演示。
4.添加doxygen注释(doxygenAddgroup)(doxygenDefgroup) 对应命令代码"add""addtogroup""def""defgroup"
可以选中一块区域,使用miniMacro命令,弹窗输入命令代码添加。此时选中区域会包含在这个注释里面。也可空位置执行,创建一个注释。
5.修改作者(changeAuthor)命令代码"changemyname"“author”
更改保存在注册表中的作者名。
6.函数头注释(addFuncHeader) 命令代码 "func" "function"
C语言函数定义很复杂,形参可以包含数组、指向函数的指针等等。可能有些情况我没考虑到,会导致识别错误。不过,按照一般的格式创建的函数,还是可以识别的。
7.doxygen块注释(doxygenVerbatim) 命令代码 "vbt" "verbatim"
注释块必须包含在已有的块注释内。会弹窗输出这段注释块的主题内容,自动居中显示。
8.行注释(doxygenLineAnnotate) 命令代码 "//"
行注释会自动识别位置。如果是注释左侧代码,会自动按照doxygen风格。此处没去实现自动右边界对其,因为需要弹窗输入注释,我不喜欢编程时太多弹窗。
9.其他说明
注释内容可以自行修改,命令代码也可更改。无命令代码的位置,执行miniMacro命令(ENTER+CTRL),会自动查找"&#&"并选中,直接输入注释内容即可。所有macro开头的函数都可以单独设置成快捷键。
三、Monokai主题
Options->Visual Theme->Manage Visual Themes,Import。选择主题文件,OK。
Debug Log:
1、$#$是SI内部字符,鼠标点击或者选中,软件会迅速用之前输入的内容替换这个字符串,如果不喜欢这个功能,可以打开宏原文件,把所有$#$替换成&#&即可。(2019.11.11)
2、增加复杂函数返回值注释功能,之前只能显示一个单词,现在更新为最多5个(比如 unsigned long long int **foo(void)),返回值可以写在函数名上一行。(2020.11.21)
3、感谢坛友@yumeng的提示,现将函数参数提取采用逐行分析的方式,函数体大小及参数行数不再会崩溃,只要参数不是近百个,基本上很快会处理完毕。(2020.11.21)
非常感谢楼主分享,置酷{:8:} 多谢分享,我还在沿用si3的风格 这6666啊! 这个好,自己要摸索出这个很费时间的,谢谢! 我也在研究SI的宏,什么地方有说明啊,好多地方系统调用不知道如何使用;我也想对quicker宏修改一下 zhousun 发表于 2019-11-11 09:06
我也在研究SI的宏,什么地方有说明啊,好多地方系统调用不知道如何使用;我也想对quicker宏修改一下
帮助文件里对函数的介绍是有点少,要自己写程序实验来猜测函数功能。可以结合Quicker和官方的那个utils进行学习。 本帖最后由 WALL_E 于 2020-11-21 22:39 编辑
Monokai主题
Options->>Preferences,Colors&Fonts设置如下:
Options->>Style Properties,Load:
效果如下:
(已有更好方式,见1楼)
Debug Log:
1、$#$是SI内部字符,鼠标点击或者选中,软件会迅速用之前输入的内容替换这个字符串,如果不喜欢这个功能,可以打开宏原文件,把所有$#$替换成&#&即可。(2019.11.11) 用得这么6666啊!{:8:} SI 4.0好像导入后未能识别到? xode 发表于 2019-11-13 18:02
SI 4.0好像导入后未能识别到?
Options->>Preferences,Colors&Fonts,这里按照图片上的RGB值设置一下了吗?对了,选中区域的背景色我设置的有点淡,可以再设置白一些。 顶起来 牛皮,学习了 谢谢楼主分享 多行注释其实Source Insight自带,只是没快捷键,位于菜单Edit->Special Edit->Comment Lines和Un-Comment Lines,只需自定义快捷键即可方便使用 谢谢分享,好东西 楼主的miniMacro 真的太神奇了 $#$ 貌似识别有问题,建议换成$i$ 函数注释有个bug,修改了第一个@briefxxx注释之后,按方向键向下修改第二行@param,会自动填充$#$为第一个注释 xxx 一直在使用SI,感觉已经很好用了,有了这些更好用了,学习了,非常感谢 浴火重生 发表于 2019-11-20 10:19
函数注释有个bug,修改了第一个@briefxxx注释之后,按方向键向下修改第二行@param,会自动填充$#$为第一 ...
是的,按照9楼方法更改下。 $#$是SI4的内部字符吗,为什么我的识别不出来 浴火重生 发表于 2019-11-22 13:15
$#$是SI4的内部字符吗,为什么我的识别不出来
好像是$$会声明一个替换符,中间无论是什么字符,名字一样就可以快速替换。只是字母数字和$会被高亮显示出来。查找Help没找到相关介绍,似乎是snippet相关的。 我按照你的方法添加的文件,但无法在快捷键中搜索到呀
芯跳不止 发表于 2020-2-25 22:14
我按照你的方法添加的文件,但无法在快捷键中搜索到呀
打开Base工程后,点击Project-》Add and Remove Project Files将.em的文件加入工程后,再点击Project-》Synchronize Files-》start同步一下。 一直想自己总结一下si的使用技巧,在你这个帖子上看到了好多,感谢感谢! 感谢感谢 问下楼主,多个$#$按什么快捷键切换到下一个$#$? yumeng 发表于 2020-3-3 22:07
问下楼主,多个$#$按什么快捷键切换到下一个$#$?
无命令代码的位置,执行miniMacro命令(我设置的快捷键是Ctrl+Enter),会自动查找"$#$"并选中,另外“$#$”有bug,把文件里的"$#$"换成"&#&"。最近发现添加函数头注释时,函数很多行时会出错,过段时间闲下来改一下。 如图这种情况,如何设置能够让大括号缩进与while自动对齐呢? xiaomeng 发表于 2020-3-8 15:06
如图这种情况,如何设置能够让大括号缩进与while自动对齐呢?
Options->File Type Options右侧Auto Indent设置如下:
WALL_E 发表于 2020-3-9 15:46
Options->File Type Options右侧Auto Indent设置如下:
我的确这样设置了,只不过自动生成的时候还是会没有对齐;
只不过影响我手动输入括号的时候 有无缩进。 WALL_E 发表于 2020-3-9 15:46
Options->File Type Options右侧Auto Indent设置如下:
为了说明问题,我还是上个动图吧
xiaomeng 发表于 2020-3-9 21:15
为了说明问题,我还是上个动图吧
这个是插入Snippets功能,需要修改Snippets,view->panel->snippet window,找到要修改的条目,右击edit snippet。
WALL_E 发表于 2020-3-6 11:52
无命令代码的位置,执行miniMacro命令(我设置的快捷键是Ctrl+Enter),会自动查找"$#$"并选中,另外“$#$ ...
确实这个$i$ $#$ 都有bug,$#$ &#&不是SI4内部宏吧,不会自动高亮啊,$i$会高亮,但是还是没法跳转 楼主,我的si3使用不了,如图报Error,难道只能si4才能用这个miniMacro?
WALL_E 发表于 2020-3-10 07:54
这个是插入Snippets功能,需要修改Snippets,view->panel->snippet window,找到要修改的条目,右击edit...
谢谢,改过可以了{:34:} billy226 发表于 2020-3-14 09:49
楼主,我的si3使用不了,如图报Error,难道只能si4才能用这个miniMacro?
我试了下Si3确实用不了,可能某些函数不支持。
链接:https://pan.baidu.com/s/1tD7_7tzBNPrUkNxczBhN5w
提取码:mmj8
本帖最后由 WALL_E 于 2020-12-1 14:34 编辑
:)