Что нового в GoLand 2018.3

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

Привет!

На прошлой неделе вышла новая версия GoLand 2018.3.

Что нового в GoLand 2018.3 - 1

В этом обновлении вы найдете множество улучшений для отладки и тестирования. Это отладка приложений на платформе Google App Engine, Testify фреймворк, анализ дампов памяти и Mozilla rr.

Появился новый Change Signature рефакторинг, инспекции кода и автодополнение для функций.

Кроме того, мы добавили поддержку для диаграмм, улучшили Rename и Inline рефакторинги, работу с шаблонами Go(text/html) и системой контроля версий для Git, Docker и Kubernetes плагины, и многое другое.

Change Signature рефакторинг

Рефакторинг Change Signature изменяет сигнатуру функций и методов. Он помогает задать новое имя или переместить, переименовать, добавить или удалить параметры.

Если меняете сигнатуру метода, GoLand предложит обновить имплементации.

Перед тем как применить рефакторинг, посмотрите, что получится в панели предварительного просмотра.

Список всех файлов и объектов, к которым применяется рефакторинг, отображается в панели. Если нужны подробности, из панели можно перейти к любому изменяемому символу в проекте. Если результат не соответствует ожиданиям, изменения можно отменить.

Что нового в GoLand 2018.3 - 2

Rename и Inline рефакторинги

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

Что нового в GoLand 2018.3 - 3

Результат применения Inline рефакторинга теперь видно сразу: GoLand подсвечивает измененный код.

Что нового в GoLand 2018.3 - 4

Отладка приложения на платформе Google App Engine

В новой версии отладчик позволяет локально запускать и отлаживать приложения на платформе Google App Engine.

А еще мы добавили новый шаблон проекта — App Engine. Он содержит app.yaml c базовыми настройками конфигурации и main.go файл с обработчиком запросов.

Что нового в GoLand 2018.3 - 5

Поддержка анализа дампов памяти

Иногда стандартные инструменты отладки не дают полного представления о том, что происходит с программой в определенные моменты ее выполнения. В этом случае помогут дампы памяти.

Чтобы начать анализировать дамп памяти в GoLand, выберите Open Core Dump в Run меню.

Чтобы автоматически создать аварийные дампы памяти, введите GOTRACEBACK=crash в поле Environment конфигурации Run.

Создавать дампы памяти можно только на Linux, однако анализировать можно и на macOS, и Windows.

Что нового в GoLand 2018.3 - 6

Поддержка Testify

GoLand 2018.3 поддерживает Testify фреймворк. Запускайте тестовые наборы (suites) и методы прямо из редактора, как обычные тестовые функции.

В окне Comparison Failure сравнивайте фактическое и ожидаемое значение, если тест упал.

Что нового в GoLand 2018.3 - 7

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

Появились две новые инспекции кода: Unhandled Error и Unreachable code.

Unhandled Error предупреждает о функциях и методах, которые возвращают ошибку, но проверок для обработки этой ошибки нет.

Что нового в GoLand 2018.3 - 8

Unreachable code выявляет части кода, которые никогда не будут выполнены.

Что нового в GoLand 2018.3 - 9

Кроме того, инспекция Function Call, которая проверяет, нужно ли преобразовывать выражение в функцию или вызов метода, теперь умеет автоматически исправлять ошибки с помощью Finish Call Expression.

Что нового в GoLand 2018.3 - 10

Автодополнение

В GoLand 2018.3 появился новый вид автодополнения для функций. Представьте, что вы новичок в мире golang и вам нужно разделить строку. Вы знаете, что для этого должна быть функция, и скорее всего, она называется "split". Эта функция должна принимать строку в качестве первого аргумента, но вы не знаете точное имя функции и ее пакета. Новый вид автодополнения помогает легко находить такие функции.

Дважды вызовите Basic completion (Ctrl + Space + Space), чтобы просмотреть все доступные варианты завершения.

Что нового в GoLand 2018.3 - 11

Intention actions

Add format string argument генерирует спецификатор формата для заданного выражения, вставляет спецификатор в форматную строку и передает выражение в качестве аргумента спецификатора.

Что нового в GoLand 2018.3 - 12

Generate Constructor создает специальную функцию для инициализации структур.

Что нового в GoLand 2018.3 - 13

Generate getter/setter теперь позволяет редактировать параметры сгенерированной функции.

Что нового в GoLand 2018.3 - 14

Generate Constructor, Generate getter/setter, и Generate getter and setter теперь доступны через Generate меню.

Отладчик

В диалоге Evaluate Expression и панели Watchers теперь есть автодополнение, инспекции и автоматическое исправление ошибок.

Что нового в GoLand 2018.3 - 15

Шаблоны Go (html/template)

В шаблонах Go(html/template) работают автодополнение кода и Rename рефакторинг, появилась возможность переходить от любого символа к местам его использования, и улучшилось форматирование.

Что нового в GoLand 2018.3 - 16

Mozilla rr

Мы добавили поддержку rr от Mozilla в отладчик на Linux. Записывайте и воспроизводите ход выполнения программы, используя всего две кнопки. Для начала отладки нужно установить Mozilla rr.

В остальном, все работает так же, как и в стандартном отладчике, за исключением специальной кнопки Rewind для Mozilla rr. Она запускает программу назад до предыдущей точки останова.

Что нового в GoLand 2018.3 - 17

Диаграммы

Мы добавили поддержку диаграмм для визуализации:

  • зависимостей внутри Go modules проектов;
  • отношений между импортируемыми и экспортируемыми модулями в JavaScript и TypeScript проектах;
  • связей между таблицами в базах данных и SQL.

Что нового в GoLand 2018.3 - 18

Поиск и навигация

Диалоги Find in Path и Replace in Path теперь работают с многострочными фрагментами кода.

Что нового в GoLand 2018.3 - 19

Окно поиска, Search Everywhere, работает быстрее и объединяет в себе Go to type, Go to file, Go to symbol, и Find действия. Используйте TAB, чтобы переключаться между между вкладками.

Что нового в GoLand 2018.3 - 20

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

Новые иконки в редакторе не только подскажут, какие методы были переопределены, но и помогут в один клик перейти от одного такого метода к другому.

Что нового в GoLand 2018.3 - 21

Complete Current Statement автоматически вставляет запятую в составных литералах (структуры, словари и пр.) и ставит курсор на позицию следующего утверждения.

Что нового в GoLand 2018.3 - 22

В GoLand 2018.3 можно определить набор файлов, к которым не будут применяться действия Reformat code, Optimize imports, и Rearrange.

Что нового в GoLand 2018.3 - 23

IDE поддерживает многострочные TODO комментарии для файлов на Go, JavaScript, TypeScript, CSS, и SCSS.

Что нового в GoLand 2018.3 - 24

Система контроля версий

Интеграция с Git теперь отображает запросы на проверку изменений для репозитория в новом окне — GitHub Pull Requests, а также поддерживает Git submodules.

Что нового в GoLand 2018.3 - 25

Доступность

Мы добавили новую высококонтрастную тему, и улучшили поддержку программ для чтения с экрана.

Что нового в GoLand 2018.3 - 26

Docker

Docker плагин поддерживает CLI-аргументы в Run-конфигурации. В новом поле Build конфигурации запуска Dockerfiles можно использовать следующие аргументы: cache-from, cpu-shares, cpuset-cpus, force-rm, label,memory, memory-swap, shm-size, no-cache, pull, quiet, и rm.

Что нового в GoLand 2018.3 - 27

Kubernetes плагин

Автодополнение кода, Rename рефакторинг, инспекции кода и быстрые исправления работают в шаблонах Helm.

Что нового в GoLand 2018.3 - 28

Другие изменения

  • Действие Attach теперь есть в меню Open Project, что позволяет добавить каталог прямо во время открытия нового проекта.
  • Теперь можно открыть проект, перетащив его на окно приветствия.
  • Activity Monitor показывает, сколько ресурсов процессора потребляют различные подсистемы и плагины: Help | Activity Monitor.
  • Поиск и обновление плагинов вIDE стал более удобным. Страница плагинов поддерживает поиск по тегам и сортировку результатов по загрузкам, имени, рейтингу, рекомендованным или обновленным.
  • Индексирование проектов происходит значительно быстрее.

Все! Как всегда, мы будем рады услышать ваше мнение: пишите нам здесь в комментариях, в Twitter или баг-трекере :)

Скачать обновление можно на странице загрузки или через приложение Toolbox App.

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

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

Автор: katezharova

Источник

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


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