在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)
    )
)
广告
将在 10 秒后关闭
bannerAds