原文地址http://tieba.baidu.com/p/3621892904?pn=1
第九名:Notepad++
總體印象:雖然過時了,但還是有不少大叔在用宇色。
入選理由:
理由1:提供了Document Map功能。也就是Sublime颁湖、Atom等的minimap功能另绩。
理由2:ViSimulator插件提供了Vim編輯模式吨拗,支持命令模式、插入模式、底線命令模式研铆。不過這個插件弱爆了俘侠,連替換命令(:s, :%s)羡亩、窗口分割(:sp)都不支持顾腊,更不用說Vim的其他高級命令了。并且非常不穩(wěn)定羡微。
理由3:谷饿?真還找不到其他使用Notepad++的理由了,Notepad++提供的所有功能其他編輯器都做得更好妈倔。
必須的插件
ViSimulator:提供Vim編輯模式博投,支持命令模式、插入模式盯蝴、底線命令模式毅哗。不過這個插件弱爆了,連替換命令(:s, :%s)捧挺、窗口分割(:sp)都不支持虑绵,更不用說Vim的其他高級命令了。并且非常不穩(wěn)定闽烙。
Compare:文件比較翅睛,功能有點弱声搁。
JSLint:Javascript語法檢查。不過這個功能只能手工運行捕发,編輯和保存文件時都不會自動進行語法檢查疏旨,尼瑪還能不能再弱智點?
HTML Tab:標簽匹配扎酷。
缺陷:
不能打開目錄檐涝,只能在Wordspace的Project里從目錄添加文件,不過速度特慢法挨,特別是大型項目目錄要等很久谁榜,并且添加后所有目錄處于弱智打開狀態(tài),得一個一個地慢慢關(guān)凡纳。
缺乏快速代碼瀏覽功能窃植。
目錄窗口無法顯示文件和目錄的版本狀態(tài),編輯窗口無法顯示代碼的版本狀態(tài)荐糜。
缺乏PHP代碼檢查功能撕瞧。
缺乏CSS語法檢查功能。
不支持jQuery函數(shù)模板狞尔。
不支持json,只能在Style Configure里把.json作為Javascript文件進行語法高亮巩掺。
不支持yml語法偏序。
不支持twig語法和標簽匹配。
不支持Apache配置文件語法胖替。
不能上下分割窗口研儒,tab右鍵clone to other view只能水平分割窗口。
太多缺陷我都懶得羅列了独令。
問題1:這么弱的編輯器都還有人在用端朵?
問題2:一個編輯器有啥資格抵制2008北京奧運會?你以為你是奧巴馬他爹燃箭?
第八名:WebStorm
WebStorm = PhpStorm - PHP - Database support
總體印象:只專注Web前端開發(fā)
入選理由:
理由1:代碼導航:Shift+Shift快速查找文件和代碼冲呢。Ctrl+B跳轉(zhuǎn),但無法像Vim那樣快速回到跳轉(zhuǎn)前的地方招狸。
理由2:Shift+Ctrl+A快速調(diào)用編輯器提供的各種功能敬拓。
理由3:CodeGlance插件在代碼右側(cè)提供了minimap
理由4:Ctrl+Q快速查看當前代碼的文檔,并且還可以查看外部的聯(lián)機文檔裙戏。
理由5:自帶git集成乘凸,文件在folder和tab上用不同的顏色標示不同的版本狀態(tài),并且修改的代碼在左右側(cè)有顏色提示累榜。不過folder里的目錄沒有版本狀態(tài)標示营勤,這點沒有Atom做的好。
理由6:IdeaVim插件提供了完整的Vim編輯模式,包括命令模式葛作、插入模式寿羞、底線命令模式。PhpStore的ideaVim是所有編輯器中最好的Vim插件进鸠,甚至支持.vimrc配置稠曼,不過ideaVim的配置文件是~/.ideavimrc文件,是不是很逆天客年。超級棒霞幅!
理由7:強大的插件管理功能。打開不支持的文件格式時量瓜,會提示下載相關(guān)插件司恳。
理由8:CSS文件左側(cè)顯示所見即所得的顏色。
必要的插件:
ideaVim: 提供Vim編輯模式
CodeGlance: 代碼右側(cè)的minimap
Apache config(.htaccess) support:Apache配置文件格式支持
缺陷:
不支持PHP是硬傷绍傲。
啟動速度慢扔傅。
不支持Twig。
問題:有了PhpStorm烫饼,為啥還有人使用WebStorm猎塞?
第七名:Eclipse
總體印象:易用性最差、速度最慢的IDE杠纵,沒有之一荠耽。
入選理由:
理由1:PDT提供了基于XDebug的可視化調(diào)試。
理由3:支持PHPDoc比藻,自動生成@param和@return铝量。
理由4:Quick Doc:F2彈出函數(shù)文檔。
理由2:Vrapper插件提供了完整的Vim編輯模式银亲,包括命令模式慢叨、插入模式、底線命令模式务蝠。支持替換命令(:s, :%s)拍谐;支持增量搜索(/,?,#,,g#,g),但不是高亮请梢。
必要的插件:
MPC:Marketplace Client
PDT:PHP Development Tool
Vrapper (Vim):提供Vim編輯模式赠尾。
Eclipse Color Theme:配色方案。
YEdit:YML語法支持毅弧。有可能不能安裝气嫁,我倒。
缺陷:
啟動太慢
與Git集成很差够坐,目錄窗口無法顯示文件和目錄的版本狀態(tài)寸宵,編輯窗口無法顯示代碼的版本狀態(tài)崖面。
缺乏minimap。
硬傷:缺乏PHP/HTML代碼補齊功能梯影。
不支持yml語法巫员。
問題:得多強的配置才能流暢運行?
第六名:PhpStorm
PhpStorm = WebStorm + PHP + Database support
總體印象:目前市面上功能最強的IDE甲棍。
入選理由:
理由1:PHP代碼格式支持PSR1/PSR2简识、Drupal、Symfony2等感猛。
理由2:支持PHPDoc七扰,自動生成@param和@return。
理由3:自帶git集成陪白,文件在folder和tab上用不同的顏色標示不同的版本狀態(tài)颈走,并且修改的代碼在左右側(cè)有顏色提示。不過folder里的目錄沒有版本狀態(tài)標示咱士,這點沒有Atom做的好立由。
理由4:生成和查看PHP UML類圖。編輯窗口里選擇PHP class序厉,右鍵菜單點擊Show Diagram就能查看蓋類的UML類圖锐膜。這個功能超級贊,其他編輯器還未發(fā)現(xiàn)有類似功能弛房。
理由5:容易配置可視化調(diào)試(Xdebug, Zend Debugger)枣耀。
理由6:代碼導航:Shift+Shift快速查找文件和代碼。Ctrl+B跳轉(zhuǎn)庭再,但無法像Vim那樣快速回到跳轉(zhuǎn)前的地方牺堰。
理由7:Shift+Ctrl+A快速調(diào)用編輯器提供的各種功能。
理由8:CodeGlance插件在代碼右側(cè)提供了minimap
理由9:Ctrl+Q快速查看當前代碼的文檔恨搓,并且還可以查看外部的聯(lián)機文檔。
理由10:Drupal Support插件方便基于Drupal框架的開發(fā)斧抱,并且該插件已經(jīng)支持Drupal8,超級棒渐溶!
理由11:IdeaVim插件提供了完整的Vim編輯模式辉浦,包括命令模式、插入模式茎辐、底線命令模式宪郊。PhpStorm的ideaVim是所有編輯器中最好的Vim插件掂恕,甚至支持.vimrc配置,不過ideaVim的配置文件是~/.ideavimrc文件弛槐,是不是很逆天懊亡。超級棒!
理由12:強大的插件管理功能乎串。打開不支持的文件格式時店枣,會提示下載相關(guān)插件。
理由13:CSS文件左側(cè)顯示所見即所得的顏色叹誉。
必要的插件:
ideaVim: 提供Vim編輯模式
CodeGlance: 代碼右側(cè)的minimap
Apache config(.htaccess) support:Apache配置文件格式支持
缺陷: 由于基于java開發(fā)鸯两,啟動速度慢,內(nèi)存耗用大桂对。
問題:所有的IDE開發(fā)者們甩卓,能不能不要再基于java了?
第五名:Sublime
總體印象:啟動速度超快蕉斜,不過安裝插件會難倒一大片人逾柿。
入選理由:
理由1:代碼導航:Ctrl+P調(diào)出Goto Anything快速查找文件和代碼。F12跳轉(zhuǎn)宅此,遺憾的是跳轉(zhuǎn)后不能像Vim那樣返回机错。
理由2:Shift+Ctrl+P調(diào)出Command Palette快速調(diào)用功能。
理由3:編輯器右側(cè)有整個文件的mini-map父腕,方便快速定位代碼位置弱匪,不過這個mini-map比Atom的minimap要差些。
理由4:SublimeLinter插件提供編輯時的語法檢查璧亮,無須保存文件后才能檢查萧诫。不過需要為每種語言都安裝語法檢查插件,為啥不能像Vim那樣只安裝一個插件就支持所有語言枝嘶?
理由5:Vintageous插件提供了較為完整的Vim編輯模式帘饶,包括命令模式、插入模式群扶、底線命令模式竞阐。支持增量高亮搜索(/,?,#,,g#,g)骆莹;支持替換命令(:s, :%s)幕垦。
理由6:GitGutter提供代碼修改狀態(tài),不過功能遠不如Atom自帶的功能強大卖丸,例如minimap里就看不到修改狀態(tài)稍浆,folder里的文件也看不到代碼修改狀態(tài)衅枫。
理由7:Xdebug Client插件提供了PHP可視化調(diào)試功能。
必要的插件:
Vintageous:提供Vim編輯模式步咪。
SublimeLinter, SublimeLinter-php, SublimeLinter-jshint, SublimeLinter-shellcheck:提供語法檢查猾漫,保證代碼不出現(xiàn)語法錯誤悯周。
sublime-phpcs:PHP代碼審查禽翼,保證代碼符合規(guī)范闰挡。
PHP-Twig:Twig文件格式解总。
BracketHighlighter:括號和HTML標簽匹配高亮姐仅。
Highlighter:高亮不正常的字符,例如尾部空格等敦锌。
DocBlockr:快速寫注釋乙墙。
GitGutter:查看代碼修改狀態(tài)。
Git:git功能集成马胧。
jQuery Snippets pack:jQuery函數(shù)模板佩脊。
Drupal:Drupal框架函數(shù)模板垫卤、自動補齊歇盼、info文件語法高亮等功能豹缀。
Xdebug Client:PHP可視化調(diào)試盈咳。
缺陷:
解決ibus等中文錄入的問題比較麻煩鸣剪。
Javascript語法檢查不起作用丈积。
問題:對ibus等不能很好支持的編輯器也能賣錢江滨?
第四名:LightTable
總體印象:雖然是未來的神編輯器告唆,但還不夠成熟晶密。
入選理由:
理由1:Ctrl+Shift+Enter對文件代碼進行Inline evalutaion(這個功能太好太強大稻艰,是LightTable入選的重要原因)不過目前只支持的語言有限尊勿,支持Clojure、Javascript等旋膳。
理由2:無須外部瀏覽器吻氧,網(wǎng)站實時預覽鲁森,CSS修改后及時看效果振惰。
理由3:Ctrl+O調(diào)出Navigator Pane快速查找文件痛垛。
理由4:Ctrl+Space調(diào)出Command Pallet快速調(diào)用功能匙头。
理由5:無處不在的自動補齊仔雷。
理由6:Ctrl+D顯示聯(lián)機文檔,這可是真正的inline顯示电抚,劃時代的進步啊,不過目前只支持Clojure語言是硬傷借帘。
理由7:非常強大和完整的vim插件肺然,提供了Vim所有的常用motions和操作匣沼,包括text objects加叁;支持增量高亮搜索(/,?,#,,g#,g)唇撬;支持跳轉(zhuǎn)列表(Ctrl-o,Ctrl-i)豫柬;支持命令映射(:map, :nmap, :vmap)等烧给。
必要的插件:
Vim:提供Vim編輯模式础嫡。
Git Status Bar:在狀態(tài)欄顯示git分支和代碼修改狀態(tài)。
缺陷:
Light Table是一款非常新的編輯器巫财,插件數(shù)量有限平项。
缺乏minimap葵礼。
不支持代碼折疊鸳粉。
問題:LightTable什么時候能走向成熟届谈?
第三名:Brackets
總體印象:專注于web前端開發(fā)
入選理由:
理由1:Ctrl+E調(diào)出快速編輯咏闪,支持HTML標簽(找到和編輯HTML標簽所對應的CSS樣式)、CSS顏色屬性征讲、Javascript函數(shù)等诗箍。
理由2:Ctrl+K調(diào)出快速文檔,支持的語言非常豐富挽唉。
理由3:實時預覽滤祖。支持無后端邏輯的實時預覽和有后端邏輯的實時預覽。
理由4:集成Theseus提供Javascript調(diào)試功能瓶籽。
理由5:Ctrl+Shift+O快速查找文件和代碼
理由6:brackets-minimap插件在代碼右側(cè)提供了minimap匠童。
理由7:雖然不具備vim-css-color那種所見即所得的CSS顏色屬性顯示,但提供了鼠標移到CSS顏色屬性上顯示實際顏色的功能棘劣。對CSS的顏色編輯提供了一定的便利俏让。
理由8:點擊目錄里的圖片可以直接查看圖片、了解圖片尺寸和大小茬暇。在編輯HTML時首昔,鼠標移動到img標簽上也可以預覽圖片赊颠,在編輯CSS時也可以預覽圖片沧奴。
理由9:brackets-vimderbar擴展提供了較為完整的Vim編輯模式翰舌,包括命令模式、插入模式、底線命令模式驾胆。支持增量高亮搜索(/,?,#,,g#,g)驳阎;支持替換命令(:s, :%s)。
必要的插件:
brackets-minimap:代碼右側(cè)的minimap
brackets-vimderbar:提供Vim編輯模式
brackets-code-folding: 代碼折疊
brackets-phplinter, brackets-csslint: 語法檢查
brackets-QuickDocsPHP:提供PHP快速文檔
brackets-QUickDocsJS:提供Javascript快速文檔
Brackets-icons: 為不同的文件類型添加圖標
缺陷:有什么缺陷呢勺届?對了,實時預覽沒有LightTable好用澜掩。
問題:奇怪惩妇,對于Brackets我竟不知道該提什么問題氓皱?
第二名:Atom
總體印象:基于純web技術(shù)(Node.js + Chromium)贾铝,使用簡單镰矿、功能強大
入選理由:
理由1:Ctrl+P快速查找文件和代碼
理由2:Ctrl+Space自動補齊
理由3:超強的minimap插件,比Sublime的mini-map強大很多垫释,minimap里甚至有g(shù)it-diff顏色提示曼尊,這個很有用啊。
理由4:超強的git集成,folder里不同的版本控制狀態(tài)用不同的顏色標示,并且修改的代碼在左右側(cè)有顏色提示柒室。
理由5:linter插件提供實時語法檢查功能,代碼修改后無須保存就能得到實時的語法檢查。
理由6:web-browser等插件提供了實時預覽功能肃廓,PHP/Javascript/CSS等文件修改后會自動刷新網(wǎng)站顯示。
理由7:強大的插件管理功能呻澜,狀態(tài)欄自動提醒插件新的版本,一鍵更新而芥,可以在不卸載插件的情況下停用插件等。除了圖形界面外荐捻,還可以通過apm install命令安裝插件处面。
必要的插件:
linter:實時語法檢查,保證代碼語法正確性菩掏。
linter-csslint:CSS代碼檢查魂角。
linter-jshint:Javascript代碼檢查。
linter-php:PHP代碼檢查智绸。
minimap: 提供代碼右側(cè)的minimap野揪。
vim-mode: 提供Vim編輯模式访忿,不過只提供了命令模式和插入模式,遺憾的是還缺乏Vim的底線命令模式斯稳,這個硬傷有點大海铆。
css-snippets:CSS代碼模板。
javascript-snippets:Javascript代碼模板挣惰。
jquery-snippets:jQuery代碼模板卧斟。
symfony-snippets:Symfony代碼模板。
drupal:Drupal代碼模板憎茂。
web-browser:網(wǎng)站實時預覽珍语。
缺陷:
Atom的vim-mode這個插件有點弱啊。
缺乏快速查看PHP/CSS/Javascript文檔的功能竖幔。
問題:能不能少占點內(nèi)存呢板乙?
第一名:gVim
總體印象:高效率代碼開發(fā)無可替代的編輯能力。
入選理由:
理由1:Vim是一個模式化編輯器拳氢,提供多種編輯模式:命令模式募逞、插入模式、底線命令模式等饿幅,這些不同的模式讓編輯更加輕松。
理由2:快速編輯功能
Vim提供的那些組合命令是快速編輯利器戒职,例如dw(刪除到下一個單詞)栗恩、d$(刪除到行末)、dG(刪除到文件末尾)洪燥、d}(刪除到函數(shù)末尾)磕秤、以及yw、y$捧韵、yG市咆、y}等命令,以及>$再来,>}等蒙兰。快速編輯命令太多這里根本就不可能列完芒篷。我們再來看幾個超級強大的命令:
dtr : 刪除到下一個r
yit : 拷貝HTML標簽里的所有內(nèi)容
di{ : 刪除{}里的所有內(nèi)容
:%s/this/replace/g : 將文件中的所有this替換為replace
:-7,+2d : 刪除當前行前面7行到后面2行的內(nèi)容
:vimgrep /SearchItem/ */.scss : 在所有的scss文件中搜索SearchItem
好了到此為止搜变,Vim強大的快速編輯能力寫幾本書都講不玩。
理由3:強大的代碼瀏覽功能:":ts xxx"快速查找代碼针炉;g]跳轉(zhuǎn)代碼挠他,CTRL-O返回。ctrlp.vim插件提供文件和代碼的模糊查詢功能篡帕,用于快速打開文件殖侵。
理由4:youcompleteme插件提供了無處不在的自動補齊功能贸呢。
理由5:syntastic插件提供了各種語言的語法檢查功能,保證代碼的正確性拢军。
理由6:vim-gitgutter插件提供代碼修改狀態(tài)楞陷。
理由7:matchit插件可以通過%按鍵匹配HTML標簽,方便找到開始和結(jié)束標簽了朴沿。
理由8:vim-css-color插件提供了所見及所得的CSS顏色屬性猜谚,極大方便了CSS文件的開發(fā)和維護,目前還沒有其它編輯器提供類似功能赌渣。
理由9:vdebug插件提供了PHP魏铅、Python的可視化調(diào)試功能。
理由10:通過PIV插件坚芜,Shift+k快速查看PHP函數(shù)文檔览芳。
理由11:Vim自帶的代碼比較和合并功能很好用。
必要的插件:
nerdtree:文件和目錄瀏覽鸿竖。
ctrlp.vim: 代碼和文件模糊查找沧竟。
syntastic:支持各種語言的語法檢查。
fugitive:git集成缚忧。
PIV: PHP集成環(huán)境悟泵,自動產(chǎn)生PHP文檔,Shift+K查看PHP函數(shù)文檔闪水。
tagbar:函數(shù)列表糕非。
ultisnips:提供代碼模板功能,但不包含各語言的代碼模板球榆。
vim-snippets:提供各種語言的ultisnips的代碼模板朽肥。
youcompleteme:無處不在的自動補齊
vim-airline:強大的狀態(tài)欄。
echofunc:了解函數(shù)參數(shù)持钉。
vim-twig:Twig模板支持衡招。
vim-css-color:所見及所得的CSS顏色。
vdebug:PHP每强、Python等可視化調(diào)試始腾。
vim-gitgutter:顯示文件每一行的修改狀態(tài)。
缺陷:
Vim學習曲線陡峭且漫長
缺乏minimap
問題:這么多年過去了空执,為何就不能出現(xiàn)一款超越Vim的編輯器呢窘茁?