В GoLand 2021.2 мы улучшили поддержку Go modules, добавили новую опцию форматирования кода и поддержку функциональности Go 1.17. А еще вы найдете новые быстрые исправления. Например, GoLand теперь предлагает мгновенного переместить//go:build
в начало файла.
Также мы улучшили интеграцию с системами контроля версий – в том числе, добавили возможность подписывать коммиты GPG-ключом. Вы найдете и много нового для веб-разработки и работы с базами данных, в частности опцию перезагрузки страницы в браузере при сохранении кода и автодополнение для полей и операторов MongoDB.
Предпочитаете узнавать о новой функциональности в интерактивной форме? Пройдите урок What's New in GoLand 2021.2 на начальном экране в разделе Learn. Если вы новичок и не знаете с чего начать, попробуйте новый Onboarding Tour. Он поможет поближе познакомиться с GoLand.
Вы можете контролировать, как GoLand исполняет команду go list
, и вручную загружать изменения файлов go.mod
.
Перейдите в Settings | Build, Execution, Deployment | Build Tools и выберите опцию External changes. В результате GoLand будет исполнять команду go list
автоматически только при внешних изменениях.
Вы увидите иконку Load Go modules Changes, на которую нужно кликнуть, чтобы загрузить обновления файлов go.mod
.
Если снять галочку с опции Reload project after changes in the build scripts, то иконка Load Go modules Changes будет появляться при изменениях как внутренних, так и внешних.
Если вы используете в коде функциональность из более новой версии Go, чем та, которая указана в go.mod
, GoLand сообщит об ошибке. Для числовых литералов и //go:embed
появились быстрые исправления, с помощью которых можно поменять версию языка в go.mod
.
Мы сделали опцию Go на начальном экране опцией по умолчанию для проектов с Go modules. Проекты с GOPATH теперь называются Go (GOPATH).
Неиспользуемые зависимости в директивах replace
теперь подсвечиваются серым. Это поможет отличить их от ошибок. Наведите курсор на серую строку и вы увидите сообщение “Unused dependency”.
Если вам нужно загрузить неиспользуемые зависимости, нажмите Alt+Enter и выберите действие Download all modules to the module cache. Каждую зависимость можно загрузить отдельно.
В этом релизе у нас появилась опция Run gofmt on code reformat. Она может быть интересна тем, кто хочет использовать gofmt
вместе со встроенным форматером GoLand.
Когда опция активна, вы можете с помощью Ctrl+Alt+L запускать gofmt
и встроенный форматер. Это первый шаг, мы запланировали и другие изменения в использовании gofmt
.
Опция активна по умолчанию, изменить настройки можно в разделе Settings | Editor | Code Style | Go.
У GoLand появилась пара быстрых исправлений, которые помогут правильно использовать старый синтаксис ограничений сборки // +build
и новый синтаксис //go:build
.
Первое быстрое исправление перенесет объявление //go:build
в начало файла, как того требует новый синтаксис.
В Go 1.16 можно использовать либо старый синтаксис, либо оба вместе. Чтобы быстро сгенерировать объявление // +build
в дополнение к //go:build
, вы можете воспользоваться быстрым исправлением, которое уже готово для вас в GoLand 2021.2.
Если вы импортировали пакет “С”, но забыли активировать поддержку cgo в настройках проекта, GoLand предложит исправить это с помощью быстрого исправления Enable cgo support.
Опция Navigate to cgo import переместит курсор в начало названия пакета. Это поможет отыскать инструкцию импорта в большом проекте.
Режим Preview теперь работает во время отладки приложения. Он позволяет открывать файлы последовательно в одной вкладке. Так вы избегаете загромождения видимой зоны редактора многочисленными открытыми вкладками.
Чтобы активировать режим Preview, перейдите в Settings | Editor | General | Editor Tabs и поставьте галочку в опции Enable preview tab.
В Go 1.17 срез можно будет преобразовывать в указатель на массив. GoLand не будет считать такие преобразования ошибками. Чтобы использовать функциональность Go 1.17, измените значение GOROOT на «Go 1.17» в Settings | Go.
Теперь Navigate to implementations работает с реализациями интерфейсов, которые находятся в папке internal
. Чтобы перейти к реализациям, нажмите на значок в поле редактора слева от интерфейса. Вы также можете перейти к интерфейсу от его реализаций.
GoLand 2021.2 позволяет верифицировать коммиты с помощью GPG-ключа. Чтобы активировать эту функциональность, перейдите в Settings | Version Control | Git.
If this is your first time using a GPG key, you’ll first need to configure it. Если вы хотите использовать настроенный ранее ключ GPG, его можно выбрать из выпадающего списка.
В разделе проверок перед коммитом появились новые опции Run tests и Analyze code, которые позволяют тестировать и анализировать код перед коммитом. Чтобы активировать их, перейдите в Settings | Version Control | Commit | Before commit или нажмите на значок шестеренки в окне Commit.
Обратите внимание, что возможность тестировать код перед коммитом доступна только в том случае, если у вас активирована опция Use non-modal commit interface в Settings | Version Control | Commit.
Мы добавили в окно Local History новую строку поиска. Local History отслеживает изменения файла независимо от систем контроля версий. Новая строка поиска поможет быстрее найти нужный текст в изменениях файла. Чтобы попробовать новую функциональность, кликните правой кнопкой мыши на файл и перейдите в Local History | Show History.
Обратите внимание, что Local History не может служить заменой системам контроля версий. Мы рекомендуем использовать системы контроля версий по умолчанию, а обращаться к Local History только в крайнем случае, когда, например, вы не успели внести изменения в Git-репозиторий.
Список Default Changelist, в котором показывались файлы с изменениями, еще не внесенными в Git-репозиторий, теперь называется Changes. Раньше он назывался Default Changelist. Это обновление будет доступно по умолчанию во всех ваших новых проектах. Кроме того, операции Git больше не будут автоматически создавать changelist.
Объединенные проекты в окне Project теперь представлены иначе. Раньше они показывались как дочерние папки существующего проекта. Сейчас объединенные проекты представлены как отдельные папки.
Мы добавили в настройки новый раздел – Advanced Settings. В нем содержатся дополнительные настройки – например, возможность изменить ширину левого отступа в режиме Distraction-free.
Также в Settings в верхнем правом углу появились стрелки. С их помощью можно переходить от одного раздела к другому и обратно.
GoLand уведомит вас о наличии новой версии, и вы сможете установить обновление прямо из IDE. Для этого у вас должно быть установлен JetBrains Toolbox App версии 1.20.8804 и выше.
Теперь вы можете изменить форму курсора на вертикальную линию или нижнее подчеркивание. Для этого нужно перейти в Settings | Tools | Terminal.
В настройках терминала появилось еще одно изменение. GoLand теперь поддерживает опцию Use Option as Meta key. Клавиша Meta изменяет назначение другой клавиши, если нажать их вместе. Использование клавиши Meta может быть полезным, если вы много работаете в терминале.
Мы изменили вид окна, которое позволяет загрузить свою иконку для проекта. Чтобы загрузить иконку, кликните на название проекта в списке проектов на начальном экране и в контекстном меню выберите опцию Choose project icon.
Теперь GoLand может автоматически обновлять страницы в браузере, когда вы изменяете и сохраняете файлы HTML, CSS и JavaScript.
Перезагрузка страниц при сохранении кода включена по умолчанию. Чтобы изменить настройки, перейдите в Settings | Build, Execution, Deployment | Debugger | Built-in Server.
Рефакторинг Rename теперь работает для хуков useState
в React. Просто поставьте курсор на значение состояния и вызовите рефакторинг Rename с помощью сочетания клавиш ⇧+F6 или кликните правой кнопкой мыши и выберите Refactor | Rename.
GoLand уже умеет добавлять недостающие инструкции import
для ES6-символов, и теперь такая же функция доступна для модулей CommonJS – инструкции require
добавятся в код при выполнении Code completion.
Автодополнение кода теперь работает для частных пакетов npm. GoLand покажет данные о последних версиях таких пакетов, как и в случае с публичными пакетами.
Мы запускаем новую версию web-types – стандарта для документирования различных фреймворков. Первая версия web-types включала в себя поддержку Vue.js.
Мы хотим построить новую архитектуру, которая будет поддерживать новые JavaScript-фреймворки и улучшит поддержку для уже существующих фреймворков. Чтобы лучше понять, как использовать web-types в своих проектах, вы можете прочитать пост в блоге WebStorm или посмотреть вебинар.
Code completion теперь работает в консоли MongoDB для полей, вложенных полей и полей внутри агрегатных выражений. Также автодополнение работает для операторов запроса и проекции, операторов обновления и стадий агрегирования.
Мы собрали в одно место все действия, которые можно запускать при сохранении кода. Теперь вы можете настроить их в Settings | Tools | Actions on Save. Просто поставьте галочку в чекбоксе рядом с действием, которое хотите активировать.
Также можно применить расширенные настройки. Для этого наведите курсор на действие, кликните на ссылку с настройками конфигурации и измените настройки на появившейся странице.
GoLand автоматически удалит кеш и логи, которые последний раз обновлялись более 180 дней назад. Этот процесс не затрагивает ваши системные настройки и плагины.
Вы можете удалить кеш и логи вручную с помощью действия Help | Delete Leftover IDE Directories.
Мы активировали проверку опечаток и грамматических ошибок в файлах Go по умолчанию. Проверка возможна благодаря плагину Grazie, который включен в GoLand.
Чтобы изменить настройки, перейдите в Settings | Editor | Natural Languages | Grammar.
У GoLand теперь есть полностью локализованный пользовательский интерфейс на китайском, корейском и японском языках. Локализация доступна в виде плагинов, которые не включены в IDE и могут быть установлены из репозитория.
Теперь вы можете видеть, какие опции автодополнения кода GoLand показывает вашим коллегам во время сессии Code With Me. Чтобы использовать эту функциональность, нужно быть в режиме Following.