golang 编译环境问题 liteIDE+gocode 持续更新,有就更新。

功能上

主要是和代码联想,补全相关,如果你的补全和联想有任何问题,就是gocode 的问题

日常中遇到的问题FAQ

Q、电脑休眠之后环境就不好用了,联想消失,补全消失

A:重启gocode

Q 使用gomod 之后无法联想到项目vendor

A: 原则上讲,gocode 会优先找你的vendor ,但是你写项目的时候导入会写一大串路径。
主要判断标准还是根据gocode status 来判断

        name: github.com/go-redis/redis/v8 (default alias: redis)
        imports 166 declarations and 19 packages
        last modification time: 2020-11-04 16:32:28.7596546 +0800 CST

github.com/go-redis/redis/v8 路径写成这个, 那就是目前联想的你D:\GoProjects\pkg\windows_amd64(本人的GOPATH)路径下的github.com/go-redis/redis/v8,你的包会被正常联想, 如果你go mod vendor 在本地创建包仓库, gocode 会联想到你项目vendor
name: xx项目/vendor/github.com/go-redis/redis/v8 (default alias: redis)

但是gocode 的操作很迷… 他选择哪个路径, 我也搞不清楚, 有时候是GOPATH,有时候是本地项目vendor, 一切以gocode status 状态为准把

解决:
1、删掉项目下的vendor
2、清掉gocode 缓存, gocode drop-cache
3、然后保证D:\GoProjects\pkg\windows_amd64下有需要的包路径,就正常了

Q 使用过程中突然就无法正确联想了

A 尝试cmd 下 gocode drop-cache 清下缓存, 然后在看看你的 gocode status 里面加入了没有

Q 关机之后在开启编辑器LiteIDE gocode 不会自动启动了

A: 在升级了gocode 版本之后发现这个gocode 并不会被编辑器自动拉起来, 反而要自己手动启动了
重启电脑后正常了。

Q 新建项目,创建了很多路径,除了main.go 路径其他的路径都不能被gocode 正确联想

A:创建个文件,然后整体编译下, 让gocode 找到路径
在这里插入图片描述
路径下写个test.go

package db

import (
	"fmt"
)

func Test() {
	fmt.Println("test")
}

然后在main.go 中调用下Test() 然后gocode 就工作正常了…

Q gocode 正常工作突然又挂了或者反应慢

A:gocode drop-cache 命令清下缓存,一般情况就恢复了。

Q暴力关机, 再次启动时候gocode 又挂了。

A:终端输入gocode status 毫无反应,长时间卡死,其他命令也一样。
打开任务管理器, 查看gocode 进程,发现同时启动多个gocode 进程, 杀掉多余的进程
注意慢点杀,杀掉一个,执行下gocode status 看一下有没有反应, 没反应在杀一个。 尝试恢复gocode ,
直到gocode status 有反应了, 在编辑器中尝试代码联想是否恢复… 我真是日了狗了,半个小时了…希望对之后有帮助

Q 在同一个项目,同一个目录下, 不同的文件,一个有代码联想,一个没有

A:… 实在是怪啊, 我也不知道为啥, 只能删除这个文件,重新建立文件就好了。 重启啥的也不好使
在这里插入图片描述
从gocode 这里面直接找不到这个文件,实在说不清是为啥, 删了重新建立把

Q 根据作者的建议,如果有更严重的问题

A 可以尝试开启debug, 不过我目前还不需要这样做
gocode close
gocode -s -debug

以下是github 搬运 https://github.com/nsf/gocode/

gocode集合列出所有选项及其值。
gocode set显示该选项的值。
gocode set为该选项设置新值。
propose-builtins
布尔选项。如果为true,gocode将向自动完成建议添加内置类型、函数和常量。默认值:false。

lib-path

字符串选项。允许您添加包的搜索路径。默认情况下,gocode只根据以前存在的环境变量搜索

$GOPATH/pkg/$GOOS_$GOARCH"和"$GOROOT/pkg/$GOOS_$GOARCH"

还可以使用“:”(冒号)作为分隔符指定多个路径(在Windows上使用分号“;”)。lib path指定的路径是默认路径的前缀。

autobuild

布尔选项。如果为true,gocode将在源文件被修改时自动构建过期的包,以获得最新的自动完成结果。这个特性是实验性的。默认值:false。

force-debug-output

字符串选项。如果不为空,gocode将强制将日志重定向到该文件中。还强制在服务器端启用调试模式。默认值:“”(空)。
package-lookup-mode
字符串选项。如果是go,则使用标准go包查找规则。如果是gb,则使用gb特定的查找规则。看到了吗https://github.com/constabulary/gb了解详情。默认值:go。

close-timeout

整数选项。如果在此秒数之后没有完成请求,gocode进程将终止。默认为1800(30分钟)。
unimported-packages
布尔选项。如果设置为true,gocode将尝试为无法解析的标识符自动导入某些已知包。目前只支持一组有限的标准库软件包。默认值:false。

partials

布尔选项。如果设置为false,gocode将不会根据光标前面输入的前缀过滤自动完成结果。相反,它将返回对给定上下文可行的所有可用的自动完成结果。无论此选项设置为true还是false,gocode都将为支持它的输出格式返回有效的前缀长度。将此选项设置为非默认值可能会导致编辑器行为错误。默认值:true。

ignore-case

布尔选项。如果设置为true,gocode将在执行基于前缀的筛选时执行不区分大小写的匹配。默认值:false。

class-filtering

布尔选项。启用或禁用gocode的功能,如果部分输入与相应的类关键字:const、var、type、func、package匹配,则执行基于类的筛选。默认值:true。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值