Как установить код Голанга в формате vscode при сохранении?

Я использую vscode с Go расширения для редактирования golang исходный код. Каждый раз, когда я хочу отформатировать код, я должен нажать Ctrl-Shift-i на linux, Shift-Alt-F на Windows, или же Ctrl-Shift-p и введите format, Можно ли установить формат при сохранении, то есть когда я нажимаю ctrl-s, он автоматически форматирует код go.fmt (или что-то похожее)?

4 ответа

Решение

Вы должны установить этот плагин: https://github.com/Microsoft/vscode-go. Один из вариантов - установить "автоформат" при сохранении: go.formatOnSave": false, Он использует инструменты Golang для форматирования.

Для меня ни один из ответов не сработал. Моя версия Go — 1.17.1, версия VSCode — 1.60.1, и я использую Linux Pop!_os.

После некоторого поиска в Интернете нашел это в официальной документации VSCode для Go. https://code.visualstudio.com/docs/languages/go#_formatting

Мой settings.json выглядит так

      "[go]": {
    "editor.insertSpaces": true,
    "editor.formatOnSave": true,
    "editor.defaultFormatter": "golang.go"
},

Примечание. Вам необходимо установить необходимые расширения для языка go в коде VS. Проверьте нижнюю левую панель, и вы должны увидеть версию для перехода. Если вы видите восклицательный значок, нажмите на него и установите предлагаемые расширения.

Из моей версии визуального кода я не могу использовать config go.formatOnSave": false.

Затем я могу отключить их в настройках, как показано ниже:

  • Построить (отключить с помощью настройки go.buildOnSave)
  • Lint (отключите с помощью настройки go.lintOnSave)
  • Вет (Отключить с помощью настройки go.vetOnSave)
  • Формат (отключите, добавив ниже в ваших настройках):
    "[go]": {
        "editor.formatOnSave": false 
    }
    

Для меня работали следующие настройки. Я отключил раздражающий рефакторинг импорта.

      "[go]": {
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
        "source.organizeImports": false
    },
}
Другие вопросы по тегам