Go language Server 耗能巨大

lsp

#1

Screen Shot 2019-01-17 at 11.08.39 AM.png

胜过开了20+ tab的 safari


#2

我之前也有这个问题,升级到最新版,或者换bingo


#3

数据结构没设计好,循环太多.


#4

在evil模式下,bingo基本没法使用。别的模式我就不清楚了,我已给作者提issue了。go-langserver又太慢,我现在的项目没法用,go项目不得不回到vim环境开发。


#5

我也在evil模式啊,用的好好的,没有之前gocode的舒服。但是跟go-langserver感觉差不多。


#6

比如,通过ndd命令删除多行,移动光标,就乱了。或者再通过p命令粘贴到某个地方再:w保存,也会乱。

总是自作主张的往代码里重复粘贴剪切板的内容。

我现在的项目不是很大,在10k的规模,引用了20来个package而已。


#7

官方的 gopls 现在能用了吗?


#8

我以为go-langserver是官方的呢。下周我用一下gopls


#9

估计还是你的配置问题吧,或许你的 dd 键绑定了某些基于 sexp 的增强删除函数,所以出现多/少了括号的情况。我也用 evil,刚刚试了一下并未发现冲突,倒是出现了运行时错误:

09_PM__emacs-lsp-bingo-runtime-error


刚刚看了一下 lsp-clients.el,发现 lsp 已经把 bingo 的优先级设置得比 go-language 高了。


#10

更新下我的配置,对 go-mode 有更新。


#11

好的,我明天试一下。把go-mode加入到aggressive-indent-excluded-modes,就解决问题了?

sexp增强删除函数,不了解


#12

aggressive-indent-excluded-modes只是解决一部分,另外是配置好 bingo,升级到最新版,性能有更新。


#13

好的,明天试一下


#14

很棒,抄一波配置先


#15

在项目开发中,遇到比较大的第三方package时,lsp真的很急人。


#16

bingo还行,要是能搭配eglot就完美了,go-langserver真心没法用,内存和cpu占用太高了,目前又滚回gocode了:joy:


#17

我用的就是bingo,一般情况下还行。有时为了展开第三方代码看一下,得等十几秒或更长时间。我用的是最新的bingo,以前它总出问题,现在问题基本没了,但有时会卡。项目小一点倒没什么问题。


#18

很久以前看到说golang 开发组本身也在开发golang lsp server,不知道现在是什么进度


刚入emacs,大家现在都不用ycmd了吗,感觉lsp好卡