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

в 15:58, , рубрики: Go, GoLand, golang, jetbrains, Блог компании JetBrains, Программирование

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Действие Fill Fields

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Инструменты

Поддержка Shell Script

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

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

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

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

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

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

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

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

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

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

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

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

Автор: katezharova

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js