vscode 中 go 语言的代码片段突然无法使用了

2023-02-09 12:08:31 +08:00
 eryajf

不知道是什么原因,今天突然发现我的 vscode 开发 go 时的代码片段无法使用了,折腾了许久,也没有找到原因。

来此发帖求助。

比如 for range 的时候,我一般会打 forr ,然后 tab 补全,现在输入一个字母 f 之后,按上下键是可以看到这个 forr 在可选列表中的,如图:

而当我继续输入字母,却找不到任何匹配的补全了,如图:

有没有朋友知道是什么原因的。

2459 次点击
所在节点    Visual Studio Code
13 条回复
xyzxiaoking
2023-02-09 12:15:02 +08:00
打开 output 看一下输出,看看是不是 gopls 挂掉了
eryajf
2023-02-09 13:04:14 +08:00
看起来应该是 Go 扩展的问题,有人提了 issue 了,关注中: https://github.com/golang/vscode-go/issues/2650
777777
2023-02-09 13:56:43 +08:00
+1 ,昨天我还把 vscode 卸载重装了
daboluo
2023-02-09 14:33:14 +08:00
TS 也是这样,参考 https://github.com/microsoft/vscode/issues/173244, 在 setting.json 里加上 "emmet.showExpandedAbbreviation": "never", 试试
kosmgco
2023-02-09 14:39:41 +08:00
https://github.com/microsoft/vscode/issues/173244#issuecomment-1420986719

在这里下载 1.75.1 ,但是别设置自动更新,因为会回滚到 1.75.0
proxytoworld
2023-02-09 16:23:18 +08:00
1.7.5 有问题,我回滚到了 1.74.3 ,我 1.7.5 python 插件也不能运行,
Lockeysama
2023-02-09 17:10:45 +08:00
他这个自动更新很烦,我 Python3.6 还在用,他每次自动更新,更新完的,不支持 3.6 了,我还每次都要回滚……各位大佬有什么解决办法吗?
darkengine
2023-02-09 23:30:48 +08:00
JS/TS 也一样,clg -> console.log 都无效了
tabris233
2023-02-12 13:06:15 +08:00
我隐约记得以前用 vscode 写 Go 的时候还有一个。

比如 slice 、map 、string 类型的变量,在变量后加 `.!range` 或是 `.range!`(具体哪个忘了)就能生成 `for range`

类似的还有 slice 类型变量,在变量后加 `.!append` 或是 `.append!` 就能生成 `var = append(var, xxx)`

在之前的电脑坏掉了后,新电脑怎么都找不到这个对应的配置了。
tabris233
2023-02-14 02:13:32 +08:00
@tabris233 找到了,这是 gopls 的特性,只要修改这项配置`"[go]":{ "editor.snippetSuggestions": "none" }`就可以了。 ( none -> bottom/inline/top)
tabris233
2023-02-14 02:16:16 +08:00
voidmnwzp
2023-02-22 12:51:53 +08:00
换 goland
eryajf
2023-02-22 14:03:29 +08:00
@voidmnwzp 哈哈,还是用习惯 vscode ,现在新版本中这个问题已经修复了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/914524

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX