不愧是巨硬。
请问有在用eslint和prettier吗
TS项目我用 LSP + Prettier
公司的老JS项目我用 LSP(补全)+ Eslint(flycheck backend)+ Prettier
那必须得用,无限好用,配合flycheck
TS用了什么mode啊?特别是tsx,js-mode跟typescript-mode的indent都非常的诡异……
JS和TS的major mode都是typescript-mode,只是提供了最基本的功能和syntax highlighting,其实差别不大的。你说的indent诡异是什么?其实配合prettier后,indent什么的都不重要了。
例如说在tsx里,SubComponent2
这样的按了tab之后缩进就会变成下面这样的没有层次感的
<Component1>
<SubComponent2/>
</Component1>
是的,毕竟那不是js/ts的syntax。
或者试试用web-mode:GitHub - ananthakumaran/tide: Tide - TypeScript Interactive Development Environment for Emacs
只开个js2/rjsx不卡吧,js2都维护了这么多年了。。开了lsp是卡,我在ts文件里用lsp-mode明显不顺滑。tide没试过。和上面一位朋友说的一样,卡一点又不是不能用,忍就完了,过两年生态一更新,就有不卡的用法了。
你们说卡的该不会是在js文件里开了lsp吧?非ts文件开个lsp能干啥……tabnine+xref-js2(约等于tags但是它用rg实时搜索,不用操心维护tags文件)不香吗。装完了xref-js2再把两个find-definition一混合:
(defun jester/js2-jump-or-xref-definition ()
"`js2-jump-to-definition' if we can, `xref-find-definitions' if can't or already at import statement."
(interactive)
(if (save-excursion
(beginning-of-line)
(search-forward "import " nil t))
(xref-find-definitions (xref-backend-identifier-at-point (xref-find-backend)))
(condition-case err
(js2-jump-to-definition)
(xref-find-definitions (xref-backend-identifier-at-point (xref-find-backend))))))
楼主没说这个花花绿绿的上色是同一个symbol同样颜色,我看到图的第一反应是“是不是傻”……不过了解之后感觉还是普通的syntax highlight + 手动symbol-overlay更好?
我被Paul Graham 洗脑了,不用静态语言的,不想要类型声型的。
如何是好啊?急……
动态类型有很多啊,还是可以很开心的。