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

Используйте пакет LSP. После установки с помощью Package Control, выполните следующие действия:

  • Откройте Command Palette
  • Найдите и выполните команду LSP: Enable Language Server Globally
  • Выберите элемент gopls. Будьте осторожны, чтобы не выбрать похожий по названию golsp.

В завершение, рекомендуется ознакомиться с Настройками и Связями клавиш пакета LSP. Найти их можно в меню Preferences > Package Settings > LSP.

Примеры

Минимальные глобальные настройки LSP, предполагающие, что gopls и go доступны в PATH, видимом для Sublime Text:

<code>{
  "clients": {
    "gopls": {
      "enabled": true,
    }
  }
}
</code>

Глобальные настройки LSP, которые указывают конкретный PATH для поиска gopls и go, а также некоторые настройки самого Sublime LSP:

<code>{
  "clients": {
    "gopls": {
      "enabled": true,
      "env": {
        "PATH": "/path/to/your/go/bin",
      }
    }
  },
  // Рекомендовано на https://agniva.me/gopls/2021/01/02/setting-up-gopls-sublime.html
  // за исключением log_stderr, который больше не распознаётся.
  "show_references_in_quick_panel": true,
  "log_debug": true,
  // Эти два параметра рекомендованы LSP-json как замена устаревшего only_show_lsp_completions
  "inhibit_snippet_completions": true,
  "inhibit_word_completions": true,
}
</code>

Настройки LSP и gopls также можно изменять на уровне отдельных проектов для переопределения глобальных настроек.

<code>{
  "folders": [
  {
    "path": "/path/to/a/folder/one"
  },
  {
    // Если вы работаете непосредственно над Go, это может быть полезно; go-dev/bin должен быть в PATH.
    "path": "/path/to/your/go-dev/src/cmd"
  }
  ],
  "settings": {
    "LSP": {
      "gopls": {
        // Чтобы использовать определённую версию gopls с Sublime Text LSP (например, чтобы опробовать новые функции в разработке)
        "command": [
        "/path/to/your/go/bin/gopls"
        ],
        "env": {
          "PATH": "/path/to/your/go-dev/bin:/path/to/your/go/bin",
          "GOPATH": "",
        },
        "settings": {
          "experimentalWorkspaceModule": true
        }
      }
    },
    // Это будет применяться ко всем языкам в этом проекте, у которых есть
    // серверы LSP, а не только к Go, однако невозможно включить только для Go.
    "lsp_format_on_save": true,
  }
}
</code>

Обычно изменения этих настроек распознаются после сохранения файла проекта, но иногда может потребоваться либо перезапуск сервера(ов) (Tools > LSP > Restart Servers), либо выход и перезапуск Sublime Text.


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

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

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