Gopls: Интерфейс командной строки
Команда gopls предоставляет несколько подкоманд, которые раскрывают большую часть функциональности сервера. Однако интерфейс в настоящее время является экспериментальным и может быть изменён в любой момент. Он неэффективен, не полон, не гибок и не поддерживается официально.
Его основное применение — в качестве средства отладки. Например, эта команда сообщает о местоположении ссылок на символ в указанном файле/строке/столбце:
<code>$ gopls references ./gopls/main.go:35:8 Log: Loading packages... Info: Finished loading packages. /home/gopher/xtools/go/packages/gopackages/main.go:27:7-11 /home/gopher/xtools/gopls/internal/cmd/integration_test.go:1062:7-11 /home/gopher/xtools/gopls/internal/test/integration/bench/bench_test.go:59:8-12 /home/gopher/xtools/gopls/internal/test/integration/regtest.go:140:8-12 /home/gopher/xtools/gopls/main.go:35:7-11 </code>
См. https://go.dev/issue/63693 для обсуждения его будущего.
Узнать о доступных командах и флагах можно, выполнив gopls help.
Позиции внутри файлов указываются в виде троек file.go:line:column, где строки и столбцы начинаются с 1, а столбцы измеряются в байтах кодировки UTF-8. Альтернативно, позиции могут быть заданы с помощью смещения байта внутри кодировки UTF-8 файла, начиная с нуля, например file.go:#1234. (При работе с файлами, не содержащими только ASCII-символы, обратите внимание на то, что ваш редактор может сообщать смещение позиции в файле с использованием другой меры, такой как коды UTF-16, кодовые точки Unicode или графемы).
Исходные файлы для этой документации можно найти в golang.org/x/tools/gopls/doc.