转:Web开发员的Top9编辑器

原文地址http://tieba.baidu.com/p/3621892904?pn=1

第九名:Notepad++

总体印象:虽然过时了,但还是有不少大叔在用。

入选理由:

理由1:提供了Document Map功能。也就是Sublime、Atom等的minimap功能。
理由2:ViSimulator插件提供了Vim编辑模式,支持命令模式、插入模式、底线命令模式。不过这个插件弱爆了,连替换命令(:s, :%s)、窗口分割(:sp)都不支持,更不用说Vim的其他高级命令了。并且非常不稳定。
理由3:?真还找不到其他使用Notepad++的理由了,Notepad++提供的所有功能其他编辑器都做得更好。

必须的插件
ViSimulator:提供Vim编辑模式,支持命令模式、插入模式、底线命令模式。不过这个插件弱爆了,连替换命令(:s, :%s)、窗口分割(:sp)都不支持,更不用说Vim的其他高级命令了。并且非常不稳定。
Compare:文件比较,功能有点弱。
JSLint:Javascript语法检查。不过这个功能只能手工运行,编辑和保存文件时都不会自动进行语法检查,尼玛还能不能再弱智点?
HTML Tab:标签匹配。

缺陷:

不能打开目录,只能在Wordspace的Project里从目录添加文件,不过速度特慢,特别是大型项目目录要等很久,并且添加后所有目录处于弱智打开状态,得一个一个地慢慢关。
缺乏快速代码浏览功能。
目录窗口无法显示文件和目录的版本状态,编辑窗口无法显示代码的版本状态。
缺乏PHP代码检查功能。
缺乏CSS语法检查功能。
不支持jQuery函数模板。
不支持json,只能在Style Configure里把.json作为Javascript文件进行语法高亮。
不支持yml语法。
不支持twig语法和标签匹配。
不支持Apache配置文件语法。
不能上下分割窗口,tab右键clone to other view只能水平分割窗口。
太多缺陷我都懒得罗列了。

问题1:这么弱的编辑器都还有人在用?
问题2:一个编辑器有啥资格抵制2008北京奥运会?你以为你是奥巴马他爹?

第八名:WebStorm


WebStorm = PhpStorm - PHP - Database support

总体印象:只专注Web前端开发

入选理由:
理由1:代码导航:Shift+Shift快速查找文件和代码。Ctrl+B跳转,但无法像Vim那样快速回到跳转前的地方。
理由2:Shift+Ctrl+A快速调用编辑器提供的各种功能。
理由3:CodeGlance插件在代码右侧提供了minimap
理由4:Ctrl+Q快速查看当前代码的文档,并且还可以查看外部的联机文档。
理由5:自带git集成,文件在folder和tab上用不同的颜色标示不同的版本状态,并且修改的代码在左右侧有颜色提示。不过folder里的目录没有版本状态标示,这点没有Atom做的好。
理由6:IdeaVim插件提供了完整的Vim编辑模式,包括命令模式、插入模式、底线命令模式。PhpStore的ideaVim是所有编辑器中最好的Vim插件,甚至支持.vimrc配置,不过ideaVim的配置文件是~/.ideavimrc文件,是不是很逆天。超级棒!
理由7:强大的插件管理功能。打开不支持的文件格式时,会提示下载相关插件。
理由8:CSS文件左侧显示所见即所得的颜色。

必要的插件:
ideaVim: 提供Vim编辑模式
CodeGlance: 代码右侧的minimap
Apache config(.htaccess) support:Apache配置文件格式支持

缺陷:

不支持PHP是硬伤。
启动速度慢。
不支持Twig。

问题:有了PhpStorm,为啥还有人使用WebStorm?

第七名:Eclipse

总体印象:易用性最差、速度最慢的IDE,没有之一。

入选理由:
理由1:PDT提供了基于XDebug的可视化调试。
理由3:支持PHPDoc,自动生成@param和@return。
理由4:Quick Doc:F2弹出函数文档。
理由2:Vrapper插件提供了完整的Vim编辑模式,包括命令模式、插入模式、底线命令模式。支持替换命令(:s, :%s);支持增量搜索(/,?,#,,g#,g),但不是高亮。

必要的插件:
MPC:Marketplace Client
PDT:PHP Development Tool
Vrapper (Vim):提供Vim编辑模式。
Eclipse Color Theme:配色方案。
YEdit:YML语法支持。有可能不能安装,我倒。

缺陷:

启动太慢
与Git集成很差,目录窗口无法显示文件和目录的版本状态,编辑窗口无法显示代码的版本状态。
缺乏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上用不同的颜色标示不同的版本状态,并且修改的代码在左右侧有颜色提示。不过folder里的目录没有版本状态标示,这点没有Atom做的好。
理由4:生成和查看PHP UML类图。编辑窗口里选择PHP class,右键菜单点击Show Diagram就能查看盖类的UML类图。这个功能超级赞,其他编辑器还未发现有类似功能。
理由5:容易配置可视化调试(Xdebug, Zend Debugger)。
理由6:代码导航:Shift+Shift快速查找文件和代码。Ctrl+B跳转,但无法像Vim那样快速回到跳转前的地方。
理由7:Shift+Ctrl+A快速调用编辑器提供的各种功能。
理由8:CodeGlance插件在代码右侧提供了minimap
理由9:Ctrl+Q快速查看当前代码的文档,并且还可以查看外部的联机文档。
理由10:Drupal Support插件方便基于Drupal框架的开发,并且该插件已经支持Drupal8,超级棒!
理由11:IdeaVim插件提供了完整的Vim编辑模式,包括命令模式、插入模式、底线命令模式。PhpStorm的ideaVim是所有编辑器中最好的Vim插件,甚至支持.vimrc配置,不过ideaVim的配置文件是~/.ideavimrc文件,是不是很逆天。超级棒!
理由12:强大的插件管理功能。打开不支持的文件格式时,会提示下载相关插件。
理由13:CSS文件左侧显示所见即所得的颜色。

必要的插件:
ideaVim: 提供Vim编辑模式
CodeGlance: 代码右侧的minimap
Apache config(.htaccess) support:Apache配置文件格式支持

缺陷: 由于基于java开发,启动速度慢,内存耗用大。

问题:所有的IDE开发者们,能不能不要再基于java了?

第五名:Sublime


总体印象:启动速度超快,不过安装插件会难倒一大片人。

入选理由:
理由1:代码导航:Ctrl+P调出Goto Anything快速查找文件和代码。F12跳转,遗憾的是跳转后不能像Vim那样返回。
理由2:Shift+Ctrl+P调出Command Palette快速调用功能。
理由3:编辑器右侧有整个文件的mini-map,方便快速定位代码位置,不过这个mini-map比Atom的minimap要差些。
理由4:SublimeLinter插件提供编辑时的语法检查,无须保存文件后才能检查。不过需要为每种语言都安装语法检查插件,为啥不能像Vim那样只安装一个插件就支持所有语言?
理由5:Vintageous插件提供了较为完整的Vim编辑模式,包括命令模式、插入模式、底线命令模式。支持增量高亮搜索(/,?,#,,g#,g);支持替换命令(:s, :%s)。
理由6:GitGutter提供代码修改状态,不过功能远不如Atom自带的功能强大,例如minimap里就看不到修改状态,folder里的文件也看不到代码修改状态。
理由7:Xdebug Client插件提供了PHP可视化调试功能。

必要的插件:
Vintageous:提供Vim编辑模式。
SublimeLinter, SublimeLinter-php, SublimeLinter-jshint, SublimeLinter-shellcheck:提供语法检查,保证代码不出现语法错误。
sublime-phpcs:PHP代码审查,保证代码符合规范。
PHP-Twig:Twig文件格式。
BracketHighlighter:括号和HTML标签匹配高亮。
Highlighter:高亮不正常的字符,例如尾部空格等。
DocBlockr:快速写注释。
GitGutter:查看代码修改状态。
Git:git功能集成。
jQuery Snippets pack:jQuery函数模板。
Drupal:Drupal框架函数模板、自动补齐、info文件语法高亮等功能。
Xdebug Client:PHP可视化调试。

缺陷:

解决ibus等中文录入的问题比较麻烦。
Javascript语法检查不起作用。

问题:对ibus等不能很好支持的编辑器也能卖钱?

第四名:LightTable

总体印象:虽然是未来的神编辑器,但还不够成熟。

入选理由:
理由1:Ctrl+Shift+Enter对文件代码进行Inline evalutaion(这个功能太好太强大,是LightTable入选的重要原因)不过目前只支持的语言有限,支持Clojure、Javascript等。
理由2:无须外部浏览器,网站实时预览,CSS修改后及时看效果。
理由3:Ctrl+O调出Navigator Pane快速查找文件。
理由4:Ctrl+Space调出Command Pallet快速调用功能。
理由5:无处不在的自动补齐。
理由6:Ctrl+D显示联机文档,这可是真正的inline显示,划时代的进步啊,不过目前只支持Clojure语言是硬伤。
理由7:非常强大和完整的vim插件,提供了Vim所有的常用motions和操作,包括text objects;支持增量高亮搜索(/,?,#,,g#,g);支持跳转列表(Ctrl-o,Ctrl-i);支持命令映射(:map, :nmap, :vmap)等。

必要的插件:
Vim:提供Vim编辑模式。
Git Status Bar:在状态栏显示git分支和代码修改状态。

缺陷:

Light Table是一款非常新的编辑器,插件数量有限。
缺乏minimap。
不支持代码折叠。

问题:LightTable什么时候能走向成熟?

第三名:Brackets

总体印象:专注于web前端开发

入选理由:
理由1:Ctrl+E调出快速编辑,支持HTML标签(找到和编辑HTML标签所对应的CSS样式)、CSS颜色属性、Javascript函数等。
理由2:Ctrl+K调出快速文档,支持的语言非常丰富。
理由3:实时预览。支持无后端逻辑的实时预览和有后端逻辑的实时预览。
理由4:集成Theseus提供Javascript调试功能。
理由5:Ctrl+Shift+O快速查找文件和代码
理由6:brackets-minimap插件在代码右侧提供了minimap。
理由7:虽然不具备vim-css-color那种所见即所得的CSS颜色属性显示,但提供了鼠标移到CSS颜色属性上显示实际颜色的功能。对CSS的颜色编辑提供了一定的便利。
理由8:点击目录里的图片可以直接查看图片、了解图片尺寸和大小。在编辑HTML时,鼠标移动到img标签上也可以预览图片,在编辑CSS时也可以预览图片。
理由9:brackets-vimderbar扩展提供了较为完整的Vim编辑模式,包括命令模式、插入模式、底线命令模式。支持增量高亮搜索(/,?,#,,g#,g);支持替换命令(:s, :%s)。

必要的插件:
brackets-minimap:代码右侧的minimap
brackets-vimderbar:提供Vim编辑模式
brackets-code-folding: 代码折叠
brackets-phplinter, brackets-csslint: 语法检查
brackets-QuickDocsPHP:提供PHP快速文档
brackets-QUickDocsJS:提供Javascript快速文档
Brackets-icons: 为不同的文件类型添加图标

缺陷:有什么缺陷呢?对了,实时预览没有LightTable好用。

问题:奇怪,对于Brackets我竟不知道该提什么问题?

第二名:Atom


总体印象:基于纯web技术(Node.js + Chromium),使用简单、功能强大

入选理由:
理由1:Ctrl+P快速查找文件和代码
理由2:Ctrl+Space自动补齐
理由3:超强的minimap插件,比Sublime的mini-map强大很多,minimap里甚至有git-diff颜色提示,这个很有用啊。
理由4:超强的git集成,folder里不同的版本控制状态用不同的颜色标示,并且修改的代码在左右侧有颜色提示。
理由5:linter插件提供实时语法检查功能,代码修改后无须保存就能得到实时的语法检查。
理由6:web-browser等插件提供了实时预览功能,PHP/Javascript/CSS等文件修改后会自动刷新网站显示。
理由7:强大的插件管理功能,状态栏自动提醒插件新的版本,一键更新,可以在不卸载插件的情况下停用插件等。除了图形界面外,还可以通过apm install命令安装插件。

必要的插件:
linter:实时语法检查,保证代码语法正确性。
linter-csslint:CSS代码检查。
linter-jshint:Javascript代码检查。
linter-php:PHP代码检查。
minimap: 提供代码右侧的minimap。
vim-mode: 提供Vim编辑模式,不过只提供了命令模式和插入模式,遗憾的是还缺乏Vim的底线命令模式,这个硬伤有点大。
css-snippets:CSS代码模板。
javascript-snippets:Javascript代码模板。
jquery-snippets:jQuery代码模板。
symfony-snippets:Symfony代码模板。
drupal:Drupal代码模板。
web-browser:网站实时预览。

缺陷:

Atom的vim-mode这个插件有点弱啊。
缺乏快速查看PHP/CSS/Javascript文档的功能。

问题:能不能少占点内存呢?

第一名:gVim


总体印象:高效率代码开发无可替代的编辑能力。

入选理由:
理由1:Vim是一个模式化编辑器,提供多种编辑模式:命令模式、插入模式、底线命令模式等,这些不同的模式让编辑更加轻松。
理由2:快速编辑功能
Vim提供的那些组合命令是快速编辑利器,例如dw(删除到下一个单词)、d$(删除到行末)、dG(删除到文件末尾)、d}(删除到函数末尾)、以及yw、y$、yG、y}等命令,以及>$,>}等。快速编辑命令太多这里根本就不可能列完。我们再来看几个超级强大的命令:
dtr : 删除到下一个r
yit : 拷贝HTML标签里的所有内容
di{ : 删除{}里的所有内容
:%s/this/replace/g : 将文件中的所有this替换为replace
:-7,+2d : 删除当前行前面7行到后面2行的内容
:vimgrep /SearchItem/ */.scss : 在所有的scss文件中搜索SearchItem
好了到此为止,Vim强大的快速编辑能力写几本书都讲不玩。
理由3:强大的代码浏览功能:":ts xxx"快速查找代码;g]跳转代码,CTRL-O返回。ctrlp.vim插件提供文件和代码的模糊查询功能,用于快速打开文件。
理由4:youcompleteme插件提供了无处不在的自动补齐功能。
理由5:syntastic插件提供了各种语言的语法检查功能,保证代码的正确性。
理由6:vim-gitgutter插件提供代码修改状态。
理由7:matchit插件可以通过%按键匹配HTML标签,方便找到开始和结束标签了。
理由8:vim-css-color插件提供了所见及所得的CSS颜色属性,极大方便了CSS文件的开发和维护,目前还没有其它编辑器提供类似功能。
理由9:vdebug插件提供了PHP、Python的可视化调试功能。
理由10:通过PIV插件,Shift+k快速查看PHP函数文档。
理由11:Vim自带的代码比较和合并功能很好用。

必要的插件:
nerdtree:文件和目录浏览。
ctrlp.vim: 代码和文件模糊查找。
syntastic:支持各种语言的语法检查。
fugitive:git集成。
PIV: PHP集成环境,自动产生PHP文档,Shift+K查看PHP函数文档。
tagbar:函数列表。
ultisnips:提供代码模板功能,但不包含各语言的代码模板。
vim-snippets:提供各种语言的ultisnips的代码模板。
youcompleteme:无处不在的自动补齐
vim-airline:强大的状态栏。
echofunc:了解函数参数。
vim-twig:Twig模板支持。
vim-css-color:所见及所得的CSS颜色。
vdebug:PHP、Python等可视化调试。
vim-gitgutter:显示文件每一行的修改状态。

缺陷:

Vim学习曲线陡峭且漫长
缺乏minimap

问题:这么多年过去了,为何就不能出现一款超越Vim的编辑器呢?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,499评论 25 707
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,599评论 18 139
  • iOS软件工程师职业图谱 描述 难度等级:R1-R5, 对应关系:零基础(R1)、简单(R2)、一般(R3)、困难...
    小李龍彪阅读 363评论 0 1
  • 因为我买的鸡腿,鸡翅没去皮,哈哈哈哈哈哈哈哈冰箱还有三块腊鸡,四条腊肉,已经吃了好多天腊肉了,都快变腊人了。实在不...
    词穷又词贫阅读 470评论 0 0
  • spark执行逻辑: 从数据源读取数据,创建最初的RDD 对RDD进行一系列的transformation操作。 ...
    Entry_1阅读 221评论 0 0