Запустить goimports при сохранении в Sublime Text?
В Sublime Text 3, с плагинами GoSublime
а также GoImports
установлены.
У меня проблемы с goimports
запускать мой файл автоматически каждый раз, когда я сохраняю.
Вот что я попробовал:
Мои настройки GoSublime установлены на:
{
"env": {"GOPATH": "/home/nicolas/.go", "PATH": "$GOPATH/bin:$PATH" },
//"fmt_cmd": ["goimports"]
}
Когда я сохраняю данные настройки, код форматируется, но импорт не добавляется. Пока ничего удивительного.
Если я нажму Ctrl+ Shift+P, то GoImports, импорт будет добавлен, как и ожидалось.
Теперь моя проблема заключается в том, когда я раскомментирую предыдущую строку, чтобы иметь эти настройки:
{
"env": {"GOPATH": "/home/nicolas/.go", "PATH": "$GOPATH/bin:$PATH" },
"fmt_cmd": ["goimports"]
}
Мало того, что он не добавляет импорт, но больше не выполняется никакого другого форматирования.
Есть идеи, где я ошибся?
Я использую Linux (Ubuntu).
2 ответа
- Убедитесь, что $GOPATH/bin находится в вашем $PATH (Windows: %GOPATH%\bin входит в ваш%PATH%).
- Запустите go get -u golang.org/x/tools/cmd/goimports (возможно, вам придется установить Mercurial).
- Установите Sublime Text и GoSublime (или убедитесь, что вы получили последнее обновление, если оно уже установлено).
- Откройте файл настроек / предпочтений пользователя gosublime (Mac: ⌘. Windows5 Windows: Ctrl+. Ctrl+5). Убедитесь, что вы удерживаете командную кнопку нажатой для всей последовательности ярлыков.
- Сделайте так, чтобы это выглядело так:
{"fmt_cmd": ["goimports"]}
Итак, где я ошибся:
Я установил GoImports из Sublime, используя Package control > Install package > GoImports
, Это установило это в папке Sublime Packages, которая не была на моем $PATH
Что я должен был сделать вместо этого:
Установите его с помощью команды go get -u golang.org/x/tools/cmd/goimports
, Это установит его в ваш $GOPATH (а $GOPATH/bin должен быть в вашем $PATH).
ctrl+. , ctrl+x
открыть margo.go
файл. Затем раскомментируйте один из golang.GoFmt & golang.GoImports. перезапустите возвышенный текст и попробуйте снова.
// golang.GoFmt,
// or
// golang.GoImports,
Я использую ubuntu + sublime text 3207 + Go-1.10 + Gosublime + Goimports-release-1.10
, И это работает после того, как я раскомментирую golang.GoImports.