js2-mode 输入lamda表达式 cpu占用过高,输入延迟卡顿,求优化方案。

从()开始输入延迟,到{}已经不会刷新了,我输入全部结束,{});一起出现

上图是输入哪一行lamda表达式的 profiler cpu

js2-mode 需要做的优化挺多的……

忙猜一个错误解析吧

(setq js2-mode-show-parse-errors nil
      js2-mode-show-strict-warnings nil)

…有没有js可用的不用做那么多优化的mode…

js-mode 就快多了, 不过有时候缩进有问题.

弱弱的问一下,我去改配置发现,配置文件里面没有js2的配置,但是打开js的工程,js2mode就出来了, 我该怎么禁用js2改成js呢?

变量 auto-mode-alist

js2-mode 我没记错的话应该不是emacs自带的,所以肯定是从elpa上安装的啊

我这个。。 role.js应该匹配到javascript-mode的吧,显示也是javascript IDE啊,为啥一楼我的截图里会出来js2的东西, 那个里面helm-compute-matches是啥,跑了57%的cpu

image 我cpu应该不是过时的东西吧。。


另外,javascript-mode 应该就是js-mode吧?

js2-mode在模式行就显示成javascript IDE,我原来觉得这个太长,还特意去js2-mode.el里搜索了这个字符,把他改成js2,使在mode-line显示成js2。后来升了emacs27后就没在用js2-mode了

(setq auto-mode-alist (delete ‘("\.m?js\’" . js2-mode) auto-mode-alist))

我删除了之后,为啥还是javascript-ide

最后这个js是 js-mode吗,我怎么加进去呢,addtolist js?

好顽固的js2

(setq auto-mode-alist (delete ‘("\.m?js\’" . js2-mode) auto-mode-alist))

(setq auto-mode-alist (delete ‘("\.js[mx]?\’" . javascript-mode) auto-mode-alist))

(add-to-list 'auto-mode-alist ‘("\.js[mx]?\’" . js-mode))

这样也不行,还是javascript-ide,major mode 是js2-mode

js文件我没有用auto-mode-alist来设置,因为未配置的emacs默认对js文件就会绑定js-mode,看了下(emacs27)jsx也不需要设置auto-mode-alist,emacs默认对jsx文件就会启用js-jsx-mode

最好发一下 js 相关的配置,如果用 use-package 的话把 :mode 注释掉。

就这么点配置

加完图里这一行生效了, 可能是 楼上说的未配置的emacs默认对js绑定jsmode了,但是我的好像是默认绑定了js2 , 把.js js-mode 写到auto-mode-alist就正常了。

啊啊啊疯了 回家家里的mac同步我配置之后,js还是javascript-IDE js2-mode