поддержка golint для JetBrains GoLand

Я использую GoLand IDE для разработки приложений Go. Я решил использовать это, поскольку многие вещи работали из коробки, и я привык к IDE JetBrains (Android Studio, AppCode, IntelliJ), и я чувствую себя очень эффективным с изученными сочетаниями клавиш.

Сегодня я хотел включить golint в проекте, над которым я работаю, однако я не нашел стандартного, простого способа добавить golint в GoLand.

Как я могу заставить линтер просмотреть мой код и отобразить предупреждение или ошибку в JetBrains GoLand? Я не хочу полагаться на инструмент командной строки для выполнения команды каждый раз, я хочу, чтобы она была в редакторе.

На основе вывода golint кажется, что не должно быть слишком сложно интегрировать вывод (он включает путь к файлу, строку, столбец и ошибку в каждой строке) и отображать его как ошибку прямо в редакторе (с маленькая красная лампочка).

Я следовал единственному найденному мной руководству: Настройте GoLand с помощью golint , но, к сожалению, я не считаю это достаточно хорошим решением. Конечным результатом этого руководства является то, что IDE открывает «консоль» внизу страницы и просто выводит результат команды в IDE. Я хочу найти способ включить это в свой код.


person Vince Varga    schedule 13.08.2019    source источник
comment
1) Я не пользуюсь GoLand 2) Из того, что я вижу в билетах GoLand, нет желания / плана реализовывать фактическую интеграцию линтера, разработчики предпочитают вместо этого внедрять ее как собственные проверки (поскольку это быстрее и обеспечивает больший контроль, например, быстрые исправления, подавление и т. д. и т. д.). Это связано с довольно старыми билетами (2016/2017) .. но даже с тем, в котором есть недавние комментарии (например, youtrack.jetbrains.com/issue/GO-2220) по-прежнему предполагает, что разработчик хочет пойти по этому пути. File Watcher на данный момент кажется лучшим способом. Для исполнения по требованию: внешние инструменты   -  person LazyOne    schedule 14.08.2019
comment
Лично я предпочитаю решать сам, когда запускать golint поверх моего кода. Поскольку он предоставляет только предложения по написанию лучшего кода, я думаю, что в некоторых ситуациях получение этих предупреждений может быть довольно неприятным. В какой-то момент я всегда проверяю свой код и стараюсь следовать советам, но я не делаю это все время. Однако golint очень помог мне написать лучший код на Go.   -  person Peter Gloor    schedule 14.08.2019


Ответы (1)


это интересный вопрос. Потому что у меня такая же проблема. терминал напоминает, что голинт не найден. Пытаюсь добавить в zsh заказ «голинт». Но я обнаружил, что предпочтение Golang IDE - инструмент - просмотр файлов, затем вы можете добавить шаблон, golangci-lint - это тот инструмент, который вам нужен, хотя это не golint. Вы могли бы использовать это

person youze liang    schedule 14.08.2019
comment
В последнее время я не использовал golangci-lint, но когда я использовал последний раз, его результат полностью отличался от того, что возвращает golint. Оказалось, что в нем используется целая куча линтеров, а вот настоящего голинта в стандартной комплектации нет. После того, как я изменил вызов, включив в него golint, результат был намного лучше, но все же не таким, как у меня с golint. - person Peter Gloor; 14.08.2019
comment
попробовать golangci-lint? - person youze liang; 14.08.2019
comment
Как упоминалось в моем комментарии, я сделал. Это было на винде. Может, в Linux все по-другому. Меня не интересуют другие проверки, которые предоставляет golangci-lint. В целом при использовании GoLand мне достаточно go fmt и golint. Кстати, руководство, упомянутое в вопросе, работает для меня, но я отключил его, потому что большую часть времени я знаю, почему я получаю предупреждения, и поэтому считаю их раздражающими. Я предпочитаю время от времени запускать golint вручную с терминала. - person Peter Gloor; 15.08.2019