Back to Spacevim

SpaceVim lang#go 模块

docs/cn/layers/lang/go.md

2.4.03.0 KB
Original Source

可用模块 >> lang#go

<!-- vim-markdown-toc GFM --> <!-- vim-markdown-toc -->

模块简介

该模块为 SpaceVim 提供了 Golang 开发支持,包括代码补全,格式化,语法检查等特性。同时提供诸多语言专属快捷键。

功能特性

  • 代码补全
  • 语法检查
  • 跳转定义处
  • 查询函数引用

启用模块

可通过在配置文件内加入如下配置来启用该模块:

toml
[[layers]]
  name = "lang#go"

默认情况下,tagbar 这一插件无法显示 go 语法树,需要安装一个依赖 gotags

sh
go get -u github.com/jstemmer/gotags

模块选项

  • enabled_linters: 设置 Golang 语言的语法检查的工具列表,默认模式值是['golint']。 可用的值包括:go, gometalinter

  • go_file_head: 设置默认的 Golang 源文件头模板。

    [[layers]]
        name = "lang#go"
        go_file_head = [
            '#!/usr/bin/python3',
            '# -*- coding : utf-8 -*-'
            ''
    ]
    
  • go_interpreter: 设置 Golang 的可执行文件路径。

    [[layers]]
        name = 'lang#go'
        go_interpreter = '~/download/bin/go'
    
  • format_on_save: 设置是否启用 Golang 源文件保存时的语法检查,默认该选项已禁用。

    [[layers]]
        name = 'lang#go'
        format_on_save = true
    

快捷键

语言专属快捷键:

快捷键功能描述
SPC l ago alternate
SPC l bgo build
SPC l cgo coverage
SPC l dgo doc
SPC l Dgo doc vertical
SPC l ego rename
SPC l ggo definition
SPC l Ggo generate
SPC l hgo info
SPC l igo implements
SPC l Iimplement stubs
SPC l kadd tags
SPC l Kremove tags
SPC l llist declarations in file
SPC l mformat improts
SPC l Madd import
SPC l rgo run
SPC l sfill struct
SPC l tgo test
SPC l vfreevars
SPC l xgo referrers

代码格式化:

默认的代码格式化快捷键是 SPC b f,该快捷键由 format 模块定义,同时也可以通过 g = 来对齐整个文档。

为了使得 format 模块支持 Go 文件,需要确认有可执行命令 go-fmt 或者 goimports, 通常 go-fmt 命令为 Go 自带的程序,请确认 Go 开发环境是否配置正确。