Gopls: Использование Helix

Настройка gopls для работы с Helix довольно проста. Установите gopls, а затем добавьте его в переменную окружения PATH. Если gopls находится в переменной PATH, Helix сможет обнаружить его автоматически.

Документация, объясняющая, как установить серверы языков по умолчанию для Helix, доступна здесь

Установка gopls

Первым шагом является установка gopls на ваш компьютер. Инструкции по установке можно найти здесь.

Настройка переменной окружения PATH для включения gopls

Установите переменную окружения PATH так, чтобы она указывала на gopls. Если вы использовали go install для загрузки gopls, он должен находиться в $GOPATH/bin. Если переменная GOPATH не установлена, можно использовать команду go env GOPATH, чтобы найти её.

Дополнительная информация

Больше информации о том, как настроить форматтер LSP, можно найти здесь.

Можно использовать команду hx --health go, чтобы убедиться, что сервер языка правильно настроен.

Конфигурация

Настройки для gopls можно задать в файле languages.toml. Официальная документация Helix по этому вопросу доступна здесь

Настройки, относящиеся к gopls, должны быть указаны в таблице language-server.gopls.

Как задать флаги

Чтобы задать флаги, добавьте их в массив args в секции language-server.gopls файла languages.toml.

Как задать конфигурацию LSP

Опции конфигурации можно задать в секции language-server.gopls.config файла languages.toml, либо в ключе config секции language-server.gopls файла languages.toml.

Пример минимальной конфигурации

В файле ~/.config/helix/languages.toml следующий фрагмент настроит gopls с файлом журнала в /tmp/gopls.log и включит staticcheck.

<code class="language-toml">[language-server.gopls]
command = "gopls"
args = ["-logfile=/tmp/gopls.log",  "serve"]
[language-server.gopls.config]
"ui.diagnostic.staticcheck" = true
</code>

Исходные файлы для этой документации можно найти ниже golang.org/x/tools/gopls/doc.

GoRu.dev Golang на русском

На сайте представлена адаптированная под русский язык документация языка программирования Golang