Хабрахабр

GoLand 2019.2: поддержка вызовов функций во время отладки, улучшенные цветовые схемы, кастомные Postfix Completion

2 и спешим рассказать вам о том, что появилось в новой версии. Сегодня мы выпустили GoLand 2019.

Поддержка вызовов функций во время отладки

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

Обратите внимание, что эта функциональность создана на основе экспериментальной поддержки вызовов функций в Delve и Go Runtime.

Если вы столкнетесь с ошибками или проблемами, связанными с поддержкой вызовов функций, сообщайте о них в нашем трекере.

Улучшенные цветовые схемы Default и Darcula

2 мы разнообразили семантическую подсветку кода в цветовых схемах Default и Darcula. В версии 2019.

Теперь легче отличать имена пакетов от переменных, встроенные конструкции кода — от ваших собственных, а преобразования типов — от вызовов функций. Изменение помогает быстрее разобраться в коде и вникнуть в его логику.

Как обычно, вы можете настроить схемы на свой вкус в меню Settings/Preferences | Editor | Color Scheme. Кроме того, ресиверы методов и вызовы функций получили отдельные цвета.

Обновления отладчика

Больше информации о переменных с методом String(), Error() и DebugString()

Поддерживаются методы, состоящие из одной инструкции return, без сложной логики. Результаты реализаций методов String(), Error() и DebugString() можно посмотреть в панели Variables.

Удобный формат отображения специальных типов

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

Формат целочисленных переменных по умолчанию

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

Поддержка функциональности Go 1.13

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

Подробности читайте в официальном блоге Go (на английском).

GoLand подсвечивает ошибки в коде и корректно отображает вывод в консоли.

13 и об их поддержке в GoLand 2019. О новых возможностях Go 1. 2 читайте в этой статье (на английском).

Пользовательские шаблоны постфиксного автодополнения

2 позволяет создавать собственные шаблоны постфиксного автодополнения. GoLand 2019.

Подробнее о создании шаблонов читайте в этой статье (на английском). Перейдите в раздел Settings/Preferences | Editor | General | Postfix Completion, нажмите «+», выберите Go, создайте шаблон и укажите область его применения.

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

Быстрые исправления на основе рефакторинга Change Signature

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

Поддержка return-выражений в Extract Method

Рефакторинг Extract Method теперь умеет извлекать код с return-выражениями.

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

Улучшения автодополнения кода

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

Усовершенствованные интеграции Go Modules и dep

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

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

Инспекции кода

Избыточные преобразования типов

Инспекция кода Redundant type conversions предупреждает об избыточных преобразованиях типов, которые можно опустить.

Валидация индексов слайсов в литералах

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

Редактирование кода

Поддержка escape-последовательностей

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

  • Подсветку кода.
  • Инспекцию, которая предупредит о потенциальных проблемах.
  • Умное редактирование, распознающее местонахождение escape-последовательностей.
  • Более точную проверку орфографии.

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

Действие Fill Fields

Во-первых, в специальном окне вы можете выбрать, какие поля следует заполнить. В GoLand стало проще заполнять поля структур. Наконец, это действие теперь доступно через автодополнение. Во-вторых, сгенерированные значения теперь можно редактировать.

Усовершенствованная функция Extend Selection

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

Улучшения интерфейса

Обновленный диалог New | File

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

Улучшенная страница плагинов

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

Обновленное окно Find

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

Общие изменения

Новые области для Scope

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

Новая опция для перемещения курсора

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

Больше информации на панели Project

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

Улучшения в поддержке VCS

Коммит из вкладки Local Changes

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

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

Чтобы включить эту функцию и делать коммиты из вкладки Local Changes, не используя отдельное диалоговое окно, перейдите в раздел Settings/Preferences | Version Control | Commit Dialog и установите флажок Commit from the Local Changes without showing a dialog.

Улучшенная поддержка файлов .gitignore

Также теперь можно быстро добавить файл в .gitignore из контекстного меню на вкладке Local Changes: щелкните правой кнопкой мыши нужный файл в группе Unversioned files и выберите действие Add to .gitignore. GoLand корректно подсвечивает все игнорируемые файлы и предлагает варианты автодополнения для имен файлов и папок.

Возможность отмены операции merge

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

Выбор отображаемых столбцов во вкладке Log

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

Инструменты

Поддержка Shell Script

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

Кроме того, мы добавили интеграцию с Shellcheck и shfmt.

Поддержка Kustomize для Kubernetes

2 поддерживает автодополнение, инспекции кода и рефакторинг Rename. Через плагин Kubernetes GoLand 2019. Вы также сможете переходить по пути, объявленному в файле ресурсов Kustomize, к связанным с ним пакетам или файлам в окне Projects.

Просмотр файловой системы Docker-контейнера

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

Пишите нам здесь в комментариях, в наш баг-трекер или Twitter. Идеи для улучшений мы зачастую берем из ваших отзывов и предложений.

По традиции напоминаю, что если вы уже используете IntelliJ IDEA Ultimate, то все возможности GoLand доступны прямо там, нужно просто установить этот плагин.

Спасибо за внимание!

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть