html文件也就几百行,但在style="width:10px;"
,修改width(在10后面一直按0试试),文件只有几十行不会卡顿,但有几百行时根本动不了,这应该是company-web的锅,spacemacs上也有重现,请教这怎么修复?
几百行没道理卡。。profile看一下占cpu的热点函数是啥吧。
天呐,以前Windows没碰到过这问题,mac用了几天就碰上了。profile了一下是company-css
这个后端特别卡,我现在
(with-eval-after-load 'web-mode
(setcar company-backends-web-mode '(company-web-html)))
把第一组从'(company-web-html company-css)
改成'(company-web-html)
,有所改善,但是仍然有点卡。profile如下,这回看不懂了。
- ... 927 62%
- cl-delete-if 925 62%
- apply 925 62%
- cl-delete 925 62%
+ #<compiled 0x4420d9e3> 925 62%
+ ivy--resize-minibuffer-to-fit 1 0%
+ golden-ratio--resize-window 1 0%
Automatic GC 0 0%
+ command-execute 323 21%
+ timer-event-handler 120 8%
+ linum-update-current 64 4%
+ company-post-command 26 1%
+ redisplay_internal (C function) 18 1%
+ evil-repeat-post-hook 1 0%
(with-eval-after-load 'web-mode
(setq company-backends-web-mode (cdr company-backends-web-mode)))
把company-web-html
也去掉了,现在似乎不卡了。
另外有个小问题,这样改下来这是因为company-backends
是去掉了前述两个后端后的结果,但是company-backends-web-mode
变成了nil
,有点奇怪,但是补全仍然能进行。company-backends-web-mode
是在打开一个文件时设定当前buffer的backends时套用的,已经打开的不会受这个变量影响。
我本机是linux,出现了这个问题,目前还找不出什么解决方案,只能在写style=时切换到html-mode,之后在切回来,profile也没找出是那个函数调用导致的
这个问题有人解决了吗?我也碰到了这个问题了。帮帮忙。
禁用company-css
即可。
(setq company-backends
(remove 'company-css company-backends))
1 个赞
不客气。目前company
作者已经fix了Emacs25上的问题,我测试来看性能好了不少,但还是有些许卡顿。不喜欢还是可以禁用company-css
.
lsp
确实很有前途。从VSCode上的表现来看很惊艳,如果发展好确实可能一统天下。
个人感觉目前lsp-mode
还不是很成熟,表现不够稳定。但是lsp-ui
,lsp-flycheck
的设计还是值得推崇的,就看后面发展了。