sublime text3如何解决Gosublime无法自动补全代码

1. 引言

Sublime Text3是一款轻量级的文本编辑器,以其快速、简洁和强大的插件系统而受到了许多开发者的青睐。其中,Gosublime是一款可以为Go语言开发人员提供自动补全、跳转等丰富功能的插件。但很多开发者在使用Gosublime时遇到了一些问题,比如无法自动补全代码的情况。本文将详细介绍如何解决这一问题。

2. 问题描述

在使用Sublime Text3和Gosublime进行Go语言开发时,有些开发者会遇到代码无法自动补全的问题。在补全时,会出现一下情况:

import (

"fmt"

)

func main() {

fmt.

}

在输入“.”的时候,没有自动提示fmt包中的函数。

3. 问题原因

导致这个问题的原因是Gosublime默认只对当前文件夹下的Go代码进行实时分析,因此对于第三方包中的函数是没有自动提示功能的。另外,有时候也可能是由于Gosublime的配置不正确导致的。

4. 解决方法

针对上述两种情况,我们可以采取如下的解决方法:

4.1 修改Gosublime配置文件

我们需要修改Gosublime配置文件,让其分析导入的第三方包和Go的标准库。这个配置文件名为“Gosublime.sublime-settings”,可以通过以下路径查找:

Preferences-> Package Settings->GoSublime->Settings -User

打开之后,可以看到以下内容:

{

"env": {},

"autocomplete_builtins": false,

"autocomplete_closures": true,

"autocomplete_fragments": true,

"autocomplete_snippets": true,

"fmt_cmd": [],

"fmt_enabled": true,

"fmt_tab_width": 0,

"on_save": {},

"share_selections": true,

"update_delay": 200,

"UseCodeIntel": true,

"use_named_imports": false,

"autobuild_enabled": false,

"testing_enabled": true,

"gs_gopath": "",

"gs_debug": false,

}

我们需要添加以下内容:

"autocomplete_builtins": true,

"autocomplete_closures": true,

"autocomplete_builtins_list": true,

"autocomplete_snippets": true,

"autocomplete_fragments": true,

"autocomplete_libs": true,

"autocomplete_goroot": true,

"autocomplete_dot": true,

这些配置项中,将“autocomplete_libs”和“autocomplete_goroot”设置为true可以让Gosublime分析导入的第三方包和Go的标准库。而“autocomplete_dot”这个配置项则是让Gosublime可以提供方法名称自动补全。

4.2 安装Go Code Completion

另外,我们还可以安装一个插件叫做“Go Code Completion”。这个插件可以让Gosublime更好地提供自动补全服务。可以通过以下命令来安装:

go get -u github.com/stamblerre/gocode

安装完成后,还需要将其添加到系统的环境变量中:

export PATH=$PATH:/your/gocode/path/bin

安装完成后,需要重启Sublime Text3,这个时候,就可以看到Gosublime可以通过Go Code Completion实现自动补全了。

4.3 重装Gosublime

如果以上两种方法都不能解决问题,可以尝试重新安装Gosublime插件。步骤如下:

1. 关闭Sublime Text3

2. 将原来的插件目录删除或者备份

3. 在github上下载Gosublime最新版本并解压

4. 将解压后的文件夹复制到Sublime Text3的插件目录下

5. 重新打开Sublime Text3

5. 结论

通过修改Gosublime的配置、安装Go Code Completion插件、或者重新安装Gosublime,可以解决Gosublime无法自动补全代码的问题。同时,我们还需要注意在导入第三方包时,要将其放在正确的位置,以便Gosublime分析。这样,我们就可以使用Sublime Text3和Gosublime愉快地进行Go语言开发了。