在Spacemacs中使用Terraform的自动补全和格式化功能
最近我在Windows10的WSL2上安装了Ubuntu18.04LTS。由于Terraform Layer最近加入了LSP支持,所以我迫不及待地想要试试看。
在保存时进行自动格式化
启用 terraform-auto-format-on-save。
(defun dotspacemacs/layers ()
'(
(terraform :variables
terraform-auto-format-on-save t)
)
)
使用LSP
通过LSP使用自动补全和linter功能。
前言:
Spacemacs使用lsp-mode作为客户端,并包含lsp-terraform。内部使用terraform-lsp。
请参考这个链接中的代码段进行阅读:https://github.com/emacs-lsp/lsp-mode/blob/666de5f50942efa461130846be740729b25081fd/lsp-mode.el#L377-L385
这是步骤。 (Zhè shì .)
-
- Goをインストール
-
- terraform-lspをインストール
- SpacemacsでLSPを使うように設定
安装Go
为了构建terraform-lsp,需要安装Go(golang)。
需要使用Go 1.14版本或更高版本。
这次我手动在Ubuntu上进行安装。
我从Go的官方网站上下载了go1.14.4.linux-amd64.tar.gz文件(符合terraform-lsp所需的版本之后)。
cd ~
wget https://dl.google.com/go/go1.14.4.linux-amd64.tar.gz
按照安装说明书安装Go,并进行环境变量的路径设置和更新。
tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bash_profile
source ~/.bash_profile
只要能够使用go version或者go –help,就足够了。
安装terraform-lsp。
有两种方法可以下载发布版或克隆存储库。
我选择了克隆存储库的方法。
git clone https://github.com/juliosueiras/terraform-lsp.git
如果~/.bin/目录不存在,则创建它。
由于它似乎是构建目标,因此执行环境变量的路径设置和反映。
mkdir ~/.bin
echo 'export PATH=$PATH:$HOME/.bin' >> ~/.bash_profile
source ~/.bash_profile
按照公式的指示进行构建。在克隆的目录下(terraform-lsp/)进行操作。
GO111MODULE=on go mod download
make
make copy
如果成功,就可以使用terraform-lsp命令。完整。
请在Spacemacs中配置并使用LSP。
将terraform-backend的值设置为’lsp。
(defun dotspacemacs/layers ()
'(
(terraform :variables
terraform-backend 'lsp)
)
)