[聚合文章] 一款让你效率翻倍的代码编辑器

程序员 1900-01-01 20 阅读

没错,本文介绍的就是饱受众多c++程序员喜爱的SourceInishgt。以下简称SI。本文主要介绍基于3.5。因为最新的4.x版本存在不稳定的问题。未来不影响工作,暂时不向上更新。 

SI作为一款神级代码编辑器,常见的SI使用技巧,网络上已经前人已经写了很多文章。但是,很多人还没有完全挖掘出它的威力。


本人的SI 3.5 配置文件

链接:https://pan.baidu.com/s/1hspgDTE 密码:c719

如果过期下载不到,可以联系我。


语义配色

在我第一次使用SI的时候,着实被它各种便捷的操作惊艳了一把。

但是我还是感觉原生默认的代码主题配色不好,没有发挥颜色的作用。

我自己手动把c++里面常见的各种语义全部重新配置了一遍。

蓝色 -- 方法(不管是方法调用,还是方法定义)

红色 -- 语法关键字(if else int for float bool 等)

灰色 -- 所有SI语义分析能关联到的变量

白色 -- 所有SI语义分析不能关联到的变量、方法、类名

黄色 -- 类名

灰色背景 -- 函数的参数

这样,以上面发的两张图为例,一个常见的方法里面,大部分情况下是红色、蓝色、灰色,一两个白色和黄色单词。

把代码颜色的分类数降低,这个时候好处就体现出来了。一段代码展现在眼前,最初步的信息就自动归类好呈现在眼前。

在阅读或者调试的时候,最高频的使用场景,就是去找方法的调用链:一个函数里面调用了哪些方法?几个时候你都不用去关心其他颜色的代码,一眼就定位到了代码里面的蓝色,当然,如果你的SI工程中有一些函数的定义文件没有被你加入到工程中,这个函数没有被SI的语义分析关联定位到,也会呈现为白色。所以你就要看所有的蓝色,并留意里面白色的部分是否方法调用。

为“函数的参数”单独设置灰色的背景色,这样就算函数长达几百行,只要看到这种带有灰色背景色的变量,你就可以一目了然知道这个变量是函数的入参。

代码主题配色的作用,应该是帮助程序员更好地阅读代码,降低阅读代码的身心成本。

这个代码配色,我是仿照著名的Solarized主题。

大体的思想就是简化代码的颜色配色,突出自己最想要的信息。比如我看到一个函数,最关心的就是它里面调用了哪些函数。

大家也可以根据自己的需求和审美,制作自己的主题配色。


快捷键

我直接列出我的快键键设置。

F1-F12已经全部被我用满:

F1 -- 高亮

F2 -- 剪切整行 (被我拿来当作“删除当前行”来用)

F3 F4 -- 对光标当前的语义,向前查找跳转或向后查找跳转

F5 -- 跳到特定行

F6 -- 注释光标所在行,或注释被选中区域所在的几行(可以google到的SI宏插件,自行搜索)

F7 -- 工程全局symbol查找窗口

F8 -- 当前文件symbol查找窗口

F9 F10 -- 代码的缩进调节

F11 -- 自动打开当前文件所在的文件夹窗口(可以google到的SI宏插件,自行搜索)

F12 -- 全局搜索

ctrl+o -- 自动跳转光标到project window

ctrl+h -- 替换

这两个按键,搭配F12全局搜索使用

ctrl+M -- 设置书签(频繁在几个固定的地方跳转调试)

修改配置快键键的地方

这个设置的原则是,高频使用的功能,就要放在容易被手按到的地方。

能一个键搞定的事情,就不要用两个组合按键来折磨自己。

像F1高亮,F2删除整行,F3 F4这样如此高频的功能,我个人每天在工作中不知道要按这些功能几十上百次。

你难道真的要用SI原生的那样,shift+F8,鼠标选中当前行再按删除键, shift+F3/F4来代替吗?这不是自找麻烦?


文末大招! 鼠标右键!

把鼠标右键设置为往回跳转,搭配ctrl+鼠标左键使用!

这个功能我第一次在我同事那边看到的时候,直接被它的便捷给吸引到。

在编程的时候,最高频的操作是什么?就是跳转到这个函数的定义,看一下它的内部实现。看完了,再跳回来。相信大家都熟悉ctrl+鼠标左键,这个就是跳转到函数的定义。但是再跳回来呢?这里有一些朋友居然不知道alt+<的快键键。最麻烦的操作就是:阅读函数A,A内部调用了B,跳转到了函数B的定义。B看完了,想回到A,接着刚刚的地方往下看。这个时候往往B和A在不同的文件里,于是他们点开SI的上方的window条目跳回到之前A所在的文件。

然后再在SI的symbol window里面敲... 去搜索刚刚A函数的名字。

终于找到了! 然而,如果这个时候A函数很长... 长达几百行,还得从函数头开始往下找,找到刚刚调用B函数的地方....

至此,不仅仅浪费了时间效率,程序员也已经付出了极大的“身心成本”... 阅读代码的思维也被这种繁琐的操作打断 ... 处理一个简单的小bug这样倒腾3、4回,你就会觉得自己被掏空了一半;一个中等难度的bug就会让你感觉被100%掏空;一个上等难度的bug会让你想死。而且往往会给你一种错觉,真麻烦,真累,所以等于“自己今天已经很努力了”...

如果会用alt+<,就可以直接跳转回来。

如果是把alt+<的功能也放到鼠标右键上,不要更爽。你就瘫在座位上,ctrl+左键跳到B的实现,看完右键一键返回原处,多爽!阅读代码起来简直和看微信文章《震惊!不转不是中国人》一样easy。(当然,博大精深的算法代码除外)。

并且,右键往回跳转这个也是多级的。比如,你可以从A-B-C-D-E-F,一路调用栈跟踪阅读下去,然后从F开始依次点鼠标右键跳回到E D C B A。

大多数时候,鼠标右键菜单里面的功能其实根本每必要使用。最常见的无非就是复制粘贴。热衷提高操作效率的你肯定应该选择ctrl C/V大法...

注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。