关于 lsp 启用的时机

以 js 为例,我一直都是按这个顺序:

js-mode -> lsp-typescript

后来安装了 nodenv 来管理不同版本的 node,启动顺序也变成:

js-mode -> nodenv-mode -> lsp-typescript

至于不同目录使用不同版本的 node,交给 nodenv 管理,lsp 只要跟在 nodenv-mode 后面启动就可以了。

再后来,某些个特定的文件也要使用不同版本的 node,跟项目其他文件不一样:

// Local Variables:
// nodenv-node-version: "8.0.0"
// End:

这时,lsp 的启动时机就要再度推迟了:

js-mode -> hack-local-variables-hook -> nodenv-mode -> lsp-typescript

因为 local variable 是最晚生效的,而且即使没有定义任何本地变量,hook 也会执行,所以这是启用 lsp 的最佳时机?

1 个赞