是的,同事?
是的,确实有点搞不动了,所以折腾一下去掉个 webstorm 的使用。
好巧哈哈
卧槽,相遇既是缘
666。。。
缘,妙不可言
大佬,我问下你lsp是怎么补全nodejs的,我用lsp怎么只能补全javascript,不能补全导入的nodejs模块
js常年补全不准,你可以考虑ts
npm i @types/node --save-dev
装完重启lsp server
nodejs 的 node_modules 我的也没有补全,company-backends补全的选项明显是降级到第二个group了。
具体没研究,一般来说估计也不建议开启 node_modules 的补全吧,否则太卡,你看 tide 里需要的 jsconfig.json (微软给出的配置说明), 里面就有写不建议补全 node_modules,如果你想补全也可以打开。
tide是可以实现 node_modules 补全的,lsp我没看具体有什么可配置的选项,lsp目前稳定性较差,升级后发现不能用就回退了,而且跳转也没搞定,没有时间折腾它。就也装了 tide,用tide 跳转,tide还算比较稳定的。
tide 可以在论坛搜一下,有人发过帖子。 PS:node_modules 里面的东西我一般都会直接跳过去看 api 了= =,毕竟经常碰到名字类似函数也不知道用哪个,靠补全结果也不知道具体有什么差异。
其实这东西在未来很长时间内不可能有 IDE 那么好的体验的,我是工程多,IDE用起来工程切换麻烦,内存占用太大(IDE开一个工程占用的内存赶上我在 emacs 里面起五个 lsp-server 和 tideserver了)。如果你那个没必要,建议还是用 webstorm 之类的,那体验绝对比编辑器之类的好多了(虽然编辑体验不够好)。
我是用spacemacs加上一些自己的配置,如果换成ide的,会特别的不顺手,如果这个ide还没vim插件的,那我用着真的是难受死了,在chrome devtool下调试的时候,我就觉得十分难受了,google为什么不能加个vim编辑模式啊
现在写 js 的没有 vim 插件的 IDE 不多吧?Webstorm 挺好用的,我用了一段时间。快捷键基本可以自定义成你现在 spacemacs 里的快捷键。如果你在意补全的话,那 Webstorm 就是快、准,而且基本编辑方式自定义后应该可以接受的。
ps:根据我多年折腾 emacs 经验来看,对非顶级大神来说,写代码不够合适,尤其是大型工程,更尤其在我们待的这儿这么个程序员行业略显浮躁的时期。
感谢大佬分享经验
我用vscode写过js和ts, 也用pycharm写过python, 我个人的经验就是动态类型的补全基本就没有准的.基本只能猜着补全. ts的补全就比js准很多. Webstorm我没用过, 不太清楚.
VSC的意思我想应该是进入node_modules文件夹里就不开启lsp补全, 而不是说你在工程文件里不能享受对于node_modules的补全.
Edit: JS补全准必须安装对应的@types包, 你都安上了吗
tide和lsp-typescript都是用的typescript进行补全,跟vscode一样,所以补全的效果很好。之前lsp-typescript bug有点多(不排除是lsp的bug),所以我一直用的tide。反正想要比较好的效果的话,需要创建下jsconfig.json
ortsconfig.json
,然后都加上 "allowSyntheticDefaultImports": true,
。
类似这样:
{
"compilerOptions": {
"target": "es2017",
"allowSyntheticDefaultImports": true,
"noEmit": true,
"checkJs": true,
"jsx": "react",
"lib": ["dom", "es2017"]
}
}
重启lsp.
没说不堪…只是说不如 Webstorm 体验好,真要是不堪,我也不用了。但不稳定确是真的,版本更新出现问题。作为一个每天要加班还有很多东西要学的程序员来说,折腾太久感觉没太多意义。工具而已,够用即可。
请问下你用的哪个后端啊,lsp-javascript-typescript
还是 lsp-typescript
?
话说你这mode-line看起来眼熟啊:joy: