LSP一统天下的时代即将来临:Atom-IDE Introduction

关于用 language server protocol 来对 Python 进行补全的体验。, https://emacs-china.org/t/richard-stallman-language-server-protocol-emacs/2848等lsp的帖子讨论。

又一个类VS Code即将横空出世,虽然我感觉也只是vscode的翻版,真正激动人心的时候还是等到emacs社区将其整合的比较好的时候吧。

1 个赞

Atom 搞这么多 ide-xxx 超级包,冲突起来可不是好玩的,先前的 nuclide 在我电脑上已经跑不起来了。应该像 eclipse / jetbrain 那样,每一种 ide 独立一个 app,各自管理 package。

atom不是免费的吧?之前收费+editor的属性和vs code、jetbrains的领域都不冲突,现在要是搞个收费的IDE,感觉怎么都打不过jetbrains吧。

是免费的吧。。。

看来 Atom 官方终于意识到问题所在了。个人感觉 Atom 的 API 丰富程度和可定制性超过 VS Code,然而总体上编程体验却要略逊于 VS Code。为何?主要原因在于 Atom 提供选项过多,而没有做好社区引导,过分强调 hackable。Hackable 好不好?肯定好。技术牛不牛逼?牛逼。然而这就有可能走向歧路的风险:在“文本编程”基础体验没达到极佳的情况下,社区跑去别的方面试图搞出“不一样的东西”。一个典型的例子是:某个协同编辑的插件,看特性概要感觉很一般,但有个绝对惊爆你眼球的“黑科技”:直接在 Atom 嵌入视频小窗,这样你和基友们就能一边协同编辑一边视频聊天了!……凭良心讲这样的特性我们将来肯定需要,但是能不能把基础编程和协同编辑功能做好了先?

反观 VS Code,从一开始目标就很明确:用 web 技术做 IDE。我们喜欢幻想文本编辑器的种种未知可能,不想画地为牢框住社区想象力,但以 5 年甚至 10 年的跨度来看,我们要做的就是 “IDE”!这点没有人反对吧?为此我们就需要 hover tooltip,需要语法检查,需要 debug 按钮,需要重构功能,需要 LSP……看到没有?所有需求都是直奔着 IDE 去的。另外一个明显的区别在于对出厂预置的态度,VS Code 毋需任何设置就支持 javascript/typescript,具有很强的示范和社区引导作用。而与此同时,Atom 则把主要精力放在了内核重构和 API 丰富改进上,寄希望于社区完成其它方面的工作。凭良心讲 VS Code 能做到的事情,Atom 肯定也都能做到,然而细节体验却要逊于 VS Code,为何?还是缺乏社区引导的缘故,一些插件因为历史惯性和缺乏人手并不能快速跟上节奏。加上缺乏统一规范和协调,各插件体验也不都整齐一致。

此次 Atom-IDE 的提出,算是正本清源,凝聚社区力量的尝试。I D E !!! 看到没有?加粗划重点,使劲敲黑板,大家有劲儿往这方面使,最终体验往链接的 language package 上靠靠。凭借 Atom 深远的开源影响力,有望迅速追平与 VS Code 的细节体验差异,并更上一层楼,让我们拭目以待吧。

2 个赞

Atom 做得还不够彻底,因为大多数用户都不是只用某一种 IDE。

比如你刚刚把 ide-a 调教好了,启用 ide-b 的时候提示冲突,必须禁用 ide-a 依赖的 package-c 才能继续,就很蛋疼了。即使不冲突,也难免臃肿。

应该学学 eclipse,把 ide-a 单独打包成一个应用,各自管理所需的包,浪费一点空间而已。不要向 Emacs 看齐,Emacs 用户是折腾习惯了,并且 Emacs 给了用户足够的折腾空间。

把尘封已久 Atom 拿出来晾一晾:

⋊> apm install ide-php
Installing ide-php to ~/.atom/packages ✗
No available version compatible with the installed Atom version: 1.20.0

正式版还不支持,好吧,我知道了。换 Beta 版:

⋊> apm-beta install ide-php
Installing ide-php to ~/.atom/packages ✓

成功!可是为什么安装在同一个目录下?

打开 Atom 正式版,不兼容的包竟然已启用!那到底是兼容还是不兼容 :sweat_smile:

一番折腾之后我放弃了,怎么配置都不对(包括 Atom Beta),其实就两个配置项,一个内存大小,一个路径,应该不会错的。不过采用同样后端的 VSCode 却很容易就上手了,虽然不全效果还不太理想。

官方博客推荐的是 Atom Beta 1.21 ,PHP 则要求版本 7 以上。

不支持正式版真是有点坑了,另外 python ide 啥时候来?