gopls

by Go Team / Google (open source) · VS Code, Neovim, Emacs, GoLand, Vim, Helix

LSP Dev Tools Open Source v0.47.0 · 25.06.2026 активный

Официальный LSP-сервер для Go от команды Go (Google). Единственный рекомендуемый language server для Go — глубокая интеграция с toolchain, модулями и build system. Возможности: - Автодополнение с учётом интерфейсов и встраивания - Goto definition, find references, find implementations - Rename: переименование с обновлением всех файлов модуля - Diagnostics: ошибки компилятора + staticcheck + shadow - Inlay hints: типы переменных, имена параметров функций - Hover: документация, сигнатура, пример использования - Go Modules: автоматическое управление go.mod - Organize imports, format (gofmt/goimports)

v0.47.0
25.06.2026 current
Добавлен 18.06.2026 · Обновлён 18.06.2026 · Dev Tools
Установка
# go install (рекомендуется):
go install golang.org/x/tools/gopls@latest

# VS Code:
# Extensions → "Go" (golang.go) → Install
# Внутри расширения: gopls устанавливается автоматически

# Neovim:
require('lspconfig').gopls.setup{
  settings = {
    gopls = {
      analyses = { shadow = true, unusedparams = true },
      staticcheck = true,
      gofumpt = true,
    },
  },
}

# Helix — работает из коробки
переведено ИИ

Инструменты Go

PkgGoDev

Этот репозиторий предоставляет модуль golang.org/x/tools, включающий различные инструменты и пакеты, в основном для статического анализа Go-программ, некоторые из которых перечислены ниже. Используйте ссылку «Go reference» выше для получения дополнительной информации о любом пакете.

Он также содержит модуль golang.org/x/tools/gopls, корневой пакет которого является сервером протокола языкового сервера (LSP) для Go. LSP-сервер анализирует исходный код проекта и отвечает на запросы от широкого спектра редакторов, таких как VSCode и Vim, позволяя им поддерживать функциональность, аналогичную IDE.

Выбранные команды:

  • cmd/goimports форматирует Go-программу, как go fmt, и дополнительно вставляет операторы импорта для любых пакетов, требуемых файлом, после его редактирования.
  • cmd/callgraph печатает граф вызовов Go-программы.
  • cmd/digraph — утилита для работы с ориентированными графами в текстовой нотации.
  • cmd/stringer генерирует объявления (включая метод String) для типов «перечисление».
  • cmd/toolstash — утилита для упрощения работы с несколькими версиями инструментария Go.

Эти команды могут быть получены с помощью команды вроде

go install golang.org/x/tools/cmd/goimports@latest

Выбранные пакеты:

  • go/ssa предоставляет промежуточное представление (IR) в форме статического присваивания одного раза (SSA) для Go-программ, аналогичное типичному компилятору, для использования инструментами анализа.

  • go/packages предоставляет простой интерфейс для загрузки, разбора и проверки типов полной Go-программы из исходного кода.

  • go/analysis предоставляет фреймворк для модульного статического анализа Go- программ.

  • go/callgraph предоставляет графы вызовов Go-программ, используя различные алгоритмы с различными компромиссами.

  • go/ast/inspector предоставляет оптимизированный способ обхода дерева разбора Go для использования в инструментах анализа.

  • go/cfg предоставляет простой граф потока управления (CFG) для Go-функции.

  • go/gcexportdata и go/gccgoexportdata читают и записывают бинарные файлы, содержащие информацию о типах, используемую стандартным и gccgo компиляторами.

  • go/types/objectpath предоставляет стабильную схему именования для именованных сущностей («объектов») в API go/types.

Множество других пакетов предоставляют более специализированную функциональность.

Вклад

Этот репозиторий использует Gerrit для внесения изменений в код. Чтобы узнать, как отправлять изменения, посмотрите https://go.dev/doc/contribute.

Git-репозиторий находится по адресу https://go.googlesource.com/tools.

Основной трекер проблем для репозитория инструментов расположен по адресу https://go.dev/issues. Начните тему вашей проблемы с «x/tools/(ваш подкаталог):», чтобы ее было легко найти.

Форматирование JavaScript и CSS

Этот репозиторий использует prettier для форматирования файлов JS и CSS.

Используемая версия prettier — 1.18.2.

Рекомендуется, чтобы весь код JS и CSS обрабатывался с помощью этого инструмента перед отправкой изменения. Однако это не строгое требование, обеспечиваемое CI.

Комментарии
Войдите, чтобы оставить комментарий