背景
最近手指不堪emacs的折磨摊欠,且確實在emacs上的開發(fā)效率不高捌显。尤其是做web開發(fā)與c++底層服務開發(fā)同時進行時。
嘗試過切換到sublime陡厘,不過說實話抽米,sublime確實不是我的菜,第一眼就比較反感了糙置。說不上反感的理由云茸,只能說是比較感性的一個選擇。
然后就問了自己一個問題谤饭,我需要的是什么樣的一個editor 或者 IDE标捺。
答案是顯而易見的:支持多語言(c, c++, python, node.js, javascript, html, golang, erlang)懊纳,需要可調(diào)試(掛載gdb),有doxygen插件亡容,可以跳轉(zhuǎn)到定義以及查找所有引用嗤疯。
比較了sublime, atom, visual studio code, vim:
編輯器 | 多語言支持 | 可調(diào)試 | doxygen插件 | 代碼跳轉(zhuǎn) | 自動補全 |
---|---|---|---|---|---|
emacs | 支持 | 支持 | 支持 | 支持(GNU global) | 支持(auto-completion)[word] |
sublime text3 | 支持 | 支持 | 支持 | 未知 | 支持[word] |
atom | 支持 | 支持 | 支持 | 未知 | 支持[word] |
vim | 支持 | 未知 | 支持 | 支持(ctags) | 支持[word] |
visual studio code | 支持 | 支持 | 支持 | 支持[intelisence] | 支持[intelisence\word] |
綜合來說:
emacs
存在快捷鍵不方便(手指負擔過重)的缺點,但emacs也存在一個相當大的優(yōu)點闺兢,可集成shell茂缚。sublime text3
這個編輯器沒怎么體驗,不過直覺上不喜歡屋谭。atom
萬般皆可忍受脚囊,但是工程的文件一多就卡,這個是不能忍受的桐磁。這是atom帶給我最不好的體驗悔耘。vim
這個說實話,學習成本過高(有過emacs經(jīng)驗所意,不想也不適合再花大量的時間到編輯器上)淮逊。而且,畢竟社區(qū)的活躍度不如其他的幾個(除了emacs)visual studio code
目前來說扶踊,缺點也是有的(不符合我的使用習慣),工程不可并行打開郎任,需要切換工程秧耗。簡而言之,是基于工程的editor舶治。當然瑕不掩瑜分井,visual code的 intelisence 還是相當符合我的口味的。debug模式更是如此霉猛。
另外尺锚,讓我堅定的使用visual studio code的更重要的原因,此乃微軟出品惜浅。相信用過visual studio套件的都對于“宇宙第一IDE”感觸頗深瘫辩。相信這塊產(chǎn)品也會越走越好。
另外坛悉,visual studio code的原生快捷鍵是需要F區(qū)的伐厌。很不幸,老夫的鍵盤是沒有F區(qū)的(HHKB...)裸影,而目前找到的keybinding是只讀文件不允許修改挣轨,需要在日后的使用中找到更改keybinding的方式。
C++ 支持
對于c++的支持轩猩,目前只需要能夠跳轉(zhuǎn)到定義卷扮,找到函數(shù)的所有引用荡澎,以及函數(shù)的聲明就可滿足我的需求。此處安裝了c++ intelisence插件晤锹。參照官方的說明衔瓮,即可非常快速的使用c++ intelisence抖甘。
注:基于GNU global热鞍。關(guān)于GNU global請參考前文或者自行百度。
在visual studio market中衔彻,還提供了c++ snippet薇宠。眾所周知snippet能夠大大減輕useless typing。
目前還缺少c++的debug艰额,linter插件澄港。debug可以方便的在ide中打斷點進行調(diào)試,linter方便對同一工程制定編碼規(guī)范柄沮。希望在日后的市場中能夠豐富起來回梧。
工程類工具
yeoman
從已知的信息中來看,yeoman是個代碼祖搓,工程生成器狱意。能夠能生對應的node.js, express.js, asp.net的工程。對于cpp, python等工程的生成尚未研究拯欧。希望能夠自定義生成規(guī)則(對于類详囤,函數(shù),文件而言)镐作。vscode-todo
因為經(jīng)巢亟悖跨工程寫代碼,所以有些函數(shù)(方法)僅僅只是留了一個調(diào)用的協(xié)議(接口)该贾,內(nèi)部實現(xiàn)為TODO羔杨。而TODO多了之后,怎么找回是個難題杨蛋。這個插件很好的幫我解決了這個問題兜材。