- PVSM.RU - https://www.pvsm.ru -
Сегодня мы выпустили GoLand 2019.2 и спешим рассказать вам о том, что появилось в новой версии.

Теперь можно выяснить, что происходит с выражением в любой момент выполнения программы.

Обратите внимание, что эта функциональность создана на основе экспериментальной поддержки вызовов функций в Delve и Go Runtime.
Если вы столкнетесь с ошибками или проблемами, связанными с поддержкой вызовов функций, сообщайте о них в нашем трекере [1].
В версии 2019.2 мы разнообразили семантическую подсветку кода в цветовых схемах Default и Darcula.

Изменение помогает быстрее разобраться в коде и вникнуть в его логику. Теперь легче отличать имена пакетов от переменных, встроенные конструкции кода — от ваших собственных, а преобразования типов — от вызовов функций.
Кроме того, ресиверы методов и вызовы функций получили отдельные цвета. Как обычно, вы можете настроить схемы на свой вкус в меню Settings/Preferences | Editor | Color Scheme.
Результаты реализаций методов String(), Error() и DebugString() можно посмотреть в панели Variables. Поддерживаются методы, состоящие из одной инструкции return, без сложной логики.

В GoLand 2019.2 значения выражений типа time.Time, time.Duration и net.IP отображаются в удобном для чтения формате на панели Variables.

Вы можете выбрать формат отображения в отладчике целочисленных переменных по умолчанию: двоичный, десятичный или шестнадцатеричный. Установите нужный формат в разделе Settings/Preferences | Build, Execution, Deployment | Debugger | Data Views | Go.

GoLand 2019.2 поддерживает двоичные целочисленные литералы и битовые сдвиги на знаковое целое, которые появятся в версии Go 1.13.

Подробности читайте в официальном блоге Go [2] (на английском).
GoLand подсвечивает ошибки в коде и корректно отображает вывод в консоли.
О новых возможностях Go 1.13 и об их поддержке в GoLand 2019.2 читайте в этой статье [3] (на английском).
GoLand 2019.2 позволяет создавать собственные шаблоны постфиксного автодополнения.
Перейдите в раздел Settings/Preferences | Editor | General | Postfix Completion, нажмите «+», выберите Go, создайте шаблон и укажите область его применения. Подробнее о создании шаблонов читайте в этой статье [4] (на английском).

Кроме того, вы можете использовать новый предопределенный шаблон постфиксного автодополнения — .aappend. С его помощью к началу выражения добавляется встроенный вызов функции append и выражению присваивается его результат.

Мы добавили быстрые исправления на основе рефакторинга Change Signature. Например, чтобы автоматически вывести и добавить параметр в вызов функции или добавить недостающие возвращаемые параметры в сигнатуру функций и методов, достаточно нажать Alt+Enter.

Рефакторинг Extract Method теперь умеет извлекать код с return-выражениями.
Если код всегда заканчивается на return, он будет извлечен без изменений. В противном случае извлеченный метод будет иметь дополнительное логическое значение в качестве возвращаемого значения. Оно будет использовано для преждевременного выхода из функции на стороне вызова.

Автодополнение предлагает варианты для полей и методов структуры, даже если ресивер явно не указан.

В GoLand 2019.2 интеграции Go Modules и dep включаются автоматически при обнаружении проекта соответствующего типа. В предыдущих версиях GoLand отключал индексацию GOPATH и отображал уведомление о возможности включения интеграции Go Modules или dep. Мы заметили, что этого было недостаточно, поскольку уведомление можно случайно пропустить или проигнорировать и в результате получить проект, сконфигурированный только наполовину.

Если вам такое поведение не подходит, вы можете в любой момент вручную отключить интеграцию в разделе Settings/Preferences | Go | Go Modules (vgo).
Инспекция кода Redundant type conversions предупреждает об избыточных преобразованиях типов, которые можно опустить.

Мы добавили валидацию индексов слайсов в составных литералах. Теперь IDE предупредит вас о том, что индекс должен быть неотрицательной целочисленной константой, прежде чем вы скомпилируете проект.

Поддержка escape-последовательностей в строковых литералах включает в себя:

Кроме того, специальные символы в форматной строке (%s, %d, и т.п.) теперь выделяются другим цветом, чтобы их было проще разглядеть в длинной строке. Цвет можно настроить в разделе Settings/Preferences | Editor | Color Scheme | Language Defaults | String | Escape Sequence | Valid. Отдельно для Go — в Settings/Preferences | Editor | Color Scheme | Go | String | Valid escape.
В GoLand стало проще заполнять поля структур. Во-первых, в специальном окне вы можете выбрать, какие поля следует заполнить. Во-вторых, сгенерированные значения теперь можно редактировать. Наконец, это действие теперь доступно через автодополнение.

Действие Extend Selection теперь корректно расширяет область выделения кода в соответствии с семантикой — от строки до блока кода, разделенного пустыми строками (вместо выделения всего тела метода).

Мы обновили диалог New | File: теперь это всплывающее окно со списком всех возможных параметров для создания файла определенного типа. Раньше приходилось раскрывать список, чтобы выбрать альтернативную опцию, а теперь все доступные параметры видны сразу.

Теперь GoLand сразу показывает всю информацию о плагинах — больше не нужно открывать страницы с описанием каждого плагина по отдельности. Новые команды в раскрывающемся меню позволяют включить или отключить все скачанные плагины разом. Кнопка Update теперь располагается рядом с названием плагина во вкладке Installed. Вкладку Updates мы удалили: она больше не нужна.

В окне Find мы сгруппировали некоторые редко используемые значки, а другие и вовсе удалили.

В раскрывающемся списке Scope появились новые области доступа: Recently Changed Files, Recently Viewed Files, Files in Previous Search Result и Selection. Вы также можете выбрать области источников данных: Data Sources. Кроме того, теперь можно указать область применения для рефакторинга Rename. Дважды нажмите Shift+F6 для вызова окна рефакторинга Rename и выберите, где будет выполняться переименование.

В GoLand 2019.2 изменился механизм действия Move Caret to Next Word: теперь IDE по умолчанию перемещает курсор в конец текущего слова. Однако вы можете настроить поведение, как считаете нужным. Перейдите в раздел Settings/Preferences/Settings | Editor | General и выберите, куда следует перемещать курсор: в конец текущего слова, в начало следующего слова или между словами.

Включите опцию In-place Descriptions в меню View для отображения на панели Project информации о размере файла, а также дате и времени его изменения.

GoLand 2019.2 предоставляет возможность сделать коммит прямо из вкладки Local Changes.

Теперь, работая над коммитом, вы можете просматривать исходный код, историю изменений отдельного файла и diff для файла в той же области, что и коммит, а также использовать другие функции IDE.
Чтобы включить эту функцию и делать коммиты из вкладки Local Changes, не используя отдельное диалоговое окно, перейдите в раздел Settings/Preferences | Version Control | Commit Dialog и установите флажок Commit from the Local Changes without showing a dialog.
GoLand корректно подсвечивает все игнорируемые файлы и предлагает варианты автодополнения для имен файлов и папок. Также теперь можно быстро добавить файл в .gitignore из контекстного меню на вкладке Local Changes: щелкните правой кнопкой мыши нужный файл в группе Unversioned files и выберите действие Add to .gitignore.

Мы добавили опцию Abort Merge, которая будет доступна во всплывающем окне Branches во время выполнения операции merge. Это то, о чем многие из нас мечтали: больше не нужно переключаться в терминал, чтобы что-то отменить.

Для выбора отображаемых столбцов во вкладке Log нажмите значок Presentation Settings, выберите команду Show Columns в контекстном меню, а затем столбцы, которые вы хотите видеть: Author, Date или Hash.

GoLand 2019.2 предоставляет автодополнение, быстрый доступ к документации и переименование идентификаторов в тексте для shell script.

Кроме того, мы добавили интеграцию с Shellcheck [5] и shfmt [6].
Через плагин Kubernetes GoLand 2019.2 поддерживает автодополнение, инспекции кода и рефакторинг Rename. Вы также сможете переходить по пути, объявленному в файле ресурсов Kustomize, к связанным с ним пакетам или файлам в окне Projects.

Теперь вы можете просматривать файловую систему запущенного Docker-контейнера. Файловая система отображается на вкладке File в окне Services.

Идеи для улучшений мы зачастую берем из ваших отзывов и предложений. Пишите нам здесь в комментариях, в наш баг-трекер [7] или Twitter [8].
По традиции напоминаю, что если вы уже используете IntelliJ IDEA Ultimate, то все возможности GoLand доступны прямо там, нужно просто установить этот плагин.
Спасибо за внимание!
Автор: katezharova
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/325061
Ссылки в тексте:
[1] них в нашем трекере: https://youtrack.jetbrains.com/issues?q=Subsystem:%20%7BGo%20Debugger%7D%20
[2] официальном блоге Go: https://blog.golang.org/go2-here-we-come
[3] этой статье: https://blog.jetbrains.com/go/2019/06/27/new-go-1-13-language-features-in-goland-2019-2/
[4] этой статье: https://www.jetbrains.com/help/go/auto-completing-code.html#custom_postfix_templates/
[5] Shellcheck: https://github.com/koalaman/shellcheck
[6] shfmt: https://github.com/mvdan/sh
[7] наш баг-трекер: https://youtrack.jetbrains.com/issues/GO
[8] Twitter: https://twitter.com/golandide
[9] Источник: https://habr.com/ru/post/461373/?utm_campaign=461373&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.