1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-26 14:20:04 +08:00
SpaceVim/docs/cn/layers/lang/go.md
2022-05-27 12:12:30 +08:00

3.2 KiB
Raw Blame History

title description lang
SpaceVim lang#go 模块 这一模块为 SpaceVim 提供了 Go 的开发支持,包括代码补全、语法检查、代码格式化等特性。 zh

可用模块 >> lang#go

模块简介

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

功能特性

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

启用模块

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

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

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

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 a go alternate
SPC l b go build
SPC l c go coverage
SPC l d go doc
SPC l D go doc vertical
SPC l e go rename
SPC l g go definition
SPC l G go generate
SPC l h go info
SPC l i go implements
SPC l I implement stubs
SPC l k add tags
SPC l K remove tags
SPC l l list declarations in file
SPC l m format improts
SPC l M add import
SPC l r go run
SPC l s fill struct
SPC l t go test
SPC l v freevars
SPC l x go referrers

代码格式化:

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

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