Emacs27的js-mode可以告别js2和rjsx了

要是专门写前端推荐还是coc.nvim。。我使用emacs这两三个月给我的感觉就是 制作lsp的emacs client就是耗去了他们很多精力。。

要是写前端,我还是回去用 VS Code 吧😅


用 Emacs 主要是写习惯了,其他工具都很好用,tide 一点缺陷还不至于让人离开。而且我对补全也没有很大的依赖。

我写JS根本就不用语义补全,JS里面的语义补全还不如补输入过的内容好使。

老铁有兴趣可以接手啊。我的项目主要不是在 js 上,所以没法保证时间。还有一个方案,能不能直接使用 vsc 的 extension 呢?就像其他插件一样。

直接用vsc extention这有点意思,能再具体点吗?或者有没有例子?

我之前大概看过typescript-lang-server的代码,其实就是很简单的封装,只有稍微几处hack。所以我不知道对比别的封装在性能上会有什么差别或提升空间(最终还是依赖tsserver的性能)。

我也觉得太多颜色没法写代码… 就算emacs不卡我脑子都卡顿了 哈哈。

我只highlight keyword和class/function name,足够了。

原理上只要支持 LSP 协议的 server 就能与 lsp-mode 和 elgot 这样的客户端通信。我没有具体研究过 tsserver,猜测typescript-lang-server 就是简单的封装转换成 LSP 识别的协议。我的疑问是,tsserver 是微软开发专门支持 typescript/javascript 的,又是用到 vscode 里的,真的就不支持 LSP 吗?有人研究过没?如果只是很简单的封装,我觉得老铁可以接下来维护typescript-lang-server。

lsp-ms-python就是直接用了 VSC 的 python 插件。server 是 C#写的,支持 LSP 协议,比 Python 实现的 pyls 性能要好很多。lsp-ms-python 主要是自动下载 VSC 插件,然后作了一些必要的配置,并注册给 lsp-mode。中间并没有像typescript-lang-server主要的包装层。

谢谢!回头看看lsp-ms-python是怎么做的。

在typescript github有讨论过LSP的问题:tsserver should implement the Language Server Protocol · Issue #11274 · microsoft/TypeScript · GitHub

要么试试我的配置, GitHub - redguardtoo/emacs.d: Fast and robust Emacs setup. 我就是专业javascript程序员,各种ide和编辑器都用过,没有一个能和Emacs能比的,我配置的强项,

9 个赞

我是选的函数名定义,字面常量,字符串,注释有自己的颜色。

我在研究能不能改coc-tsserver。我感觉比typescript-lang-server做的好很多。

1 个赞

是不是可以直接用 coc-tsserver 呢?看起来就是一个现成的轮子

用不了,用了coc.nvim的api。gg。。

27啥时候能发布啊……

对,这些就足够了。 太colorful会眼花

比 WebStorm 好用吗?

是不是跑错论坛了?

真就不支持,tsserver用的是自己的通信协议

这就很怪异了,tsserver、lsp、vscode都是他家的。。。

可能这就叫技术护城河吧 :smiling_imp: :rofl:

这里他们讨论了一圈,然后还是推荐去用theia的wrapper