Gocpy для VS Code
Поддержка языка Gocpy.
Подсветка как в Gocpy IDE
- Тема Gocpy Dark с цветами Gocpy IDE: интерфейс, все лексические категории и семантические классы. Включается командой «Gocpy: Включить тему Gocpy Dark» (при первом запуске расширение предложит её само).
- Семантическая подсветка от языкового сервера различает:
- переменные, поля и объявления полей;
- объявления, вызовы и методы функций, встроенные функции, функции пакетов, методы-операторы;
- имена пакетов и члены пакетов;
- пользовательские и встроенные константы;
- типы: встроенные,
error/Exception, пользовательские, стандартной библиотеки, параметры типов, ограничения;
- функции и приведения внутри
unsafe, операторы указателей * и &.
- Грамматика размечает:
- ключевые слова по группам (управление, объявления, модули,
in, потоки, исключения, unsafe);
- f-строки с подстановками, форматами и экранированием;
- числа по видам, аннотации и интринсики, директивы
//gocpy:, метки TODO/FIXME;
- операторы, скобки.
- Фон блоков
unsafe { … }. Цвет задаётся через workbench.colorCustomizations → gocpy.unsafeBackground.
- В других темах семантические классы сводятся к стандартным (функция, тип, пространство имён…).
Языковой сервер (gocpy lsp)
Нужен компилятор gocpy 0.3.0 или новее: brew upgrade gocpy.
- Диагностика при наборе: синтаксис, проверки, типы, импорты и модули. Отображаются все ошибки, а не только первая.
- Переход к определению, в том числе в другой пакет, зависимость из кэша модулей и исходник пакета Go через мост. Есть переход к определению типа.
- Ссылки, подсветка вхождений и переименование по всей рабочей области. Учитываются поля в литералах структур и методы.
- Иерархия вызовов: входящие и исходящие, между пакетами.
- Подсказки при наведении: сигнатура, документация из комментариев (для пакетов Go — из исходника Go), описание ключевых слов и аннотаций.
- Автодополнение:
- все ключевые слова (с шаблонами), аннотации после
@;
- встроенные типы и функции, функции
unsafe внутри unsafe;
- локальные имена, члены пакетов и типов после
., пути импорта.
- Подсказка параметров, в том числе для перегрузок. Символы документа и рабочей области.
Команды
- «Gocpy: Запустить пакет» (кнопка ▶ в заголовке редактора), «Собрать пакет», «Проверить пакет».
- «Gocpy: Перезапустить языковой сервер».
Настройки
| Настройка |
Значение |
gocpy.path |
путь к gocpy; по умолчанию ищется в PATH, /opt/homebrew/bin, /usr/local/bin, ~/go/bin |
gocpy.languageServer.enabled |
включить языковой сервер |
gocpy.unsafeHighlight |
фон блоков unsafe |
gocpy.suggestTheme |
предложить тему Gocpy Dark |
gocpy.trace.server |
трассировка обмена с сервером |
| |