- PVSM.RU - https://www.pvsm.ru -
Привет!
На прошлой неделе вышла новая версия GoLand 2018.3.

В этом обновлении вы найдете множество улучшений для отладки и тестирования. Это отладка приложений на платформе Google App Engine, Testify фреймворк, анализ дампов памяти и Mozilla rr.
Появился новый Change Signature рефакторинг, инспекции кода и автодополнение для функций.
Кроме того, мы добавили поддержку для диаграмм, улучшили Rename и Inline рефакторинги, работу с шаблонами Go(text/html) и системой контроля версий для Git, Docker и Kubernetes плагины, и многое другое.
Рефакторинг Change Signature изменяет сигнатуру функций и методов. Он помогает задать новое имя или переместить, переименовать, добавить или удалить параметры.
Если меняете сигнатуру метода, GoLand предложит обновить имплементации.
Перед тем как применить рефакторинг, посмотрите, что получится в панели предварительного просмотра.
Список всех файлов и объектов, к которым применяется рефакторинг, отображается в панели. Если нужны подробности, из панели можно перейти к любому изменяемому символу в проекте. Если результат не соответствует ожиданиям, изменения можно отменить.

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

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

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

Иногда стандартные инструменты отладки не дают полного представления о том, что происходит с программой в определенные моменты ее выполнения. В этом случае помогут дампы памяти.
Чтобы начать анализировать дамп памяти в GoLand, выберите Open Core Dump в Run меню.
Чтобы автоматически создать аварийные дампы памяти, введите GOTRACEBACK=crash в поле Environment конфигурации Run.
Создавать дампы памяти можно только на Linux, однако анализировать можно и на macOS, и Windows.

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

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

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

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

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

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

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

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

Generate Constructor, Generate getter/setter, и Generate getter and setter теперь доступны через Generate меню.
В диалоге Evaluate Expression и панели Watchers теперь есть автодополнение, инспекции и автоматическое исправление ошибок.

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

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

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

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

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

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

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

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

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

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

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

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

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

Все! Как всегда, мы будем рады услышать ваше мнение: пишите нам здесь в комментариях, в Twitter [2] или баг-трекере [3] :)
Скачать обновление можно на странице загрузки [4] или через приложение Toolbox App [5].
На всякий случай напоминаю, что если вы уже используете IntelliJ IDEA Ultimate, то все возможности GoLand доступны прямо там: просто установите этот плагин [6].
Спасибо за внимание!
Автор: katezharova
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/300767
Ссылки в тексте:
[1] Mozilla rr: https://github.com/mozilla/rr/wiki/Building-And-Installing
[2] Twitter: https://twitter.com/GoLandIDE
[3] баг-трекере: https://youtrack.jetbrains.com/issues/GO
[4] загрузки: https://www.jetbrains.com/go/download/
[5] Toolbox App: https://www.jetbrains.com/toolbox/app
[6] плагин: https://plugins.jetbrains.com/plugin/9568-go
[7] Источник: https://habr.com/post/431668/?utm_campaign=431668
Нажмите здесь для печати.