GoLand 2019.3 потребляет меньше ресурсов процессора и работает гораздо быстрее, чем раньше. В новой версии расширена поддержка Go Modules, появилось множество новых быстрых исправлений и функциональных возможностей для рефакторинга, можно вызывать метод встроенного поля через Evaluate Expression и отлаживать приложения удаленно с помощью Mozilla rr.
Более того, теперь можно включить Global File Watcher для каждого нового проекта, работать с MongoDB и многое другое!
После выпуска GoLand 2019.2 этим летом мы упорно трудились над тем, чтобы IDE работала быстрее и потребляла меньше ресурсов. Основной результат в этой версии — сокращение времени запуска, пока IDE готовится к началу работы, отображает экран приветствия и индексирует проект.
Обратите внимание, что результаты могут отличаться в зависимости от размера проекта, возраста устройства, объема оперативной памяти и дискового пространства. Мы будем продолжать работу над улучшением производительности, поэтому в следующих релизах ждите дополнительных ускорений в запуске IDE.
GoLand 2019.3 оснащен подсветкой синтаксиса для файлов go.mod
и навигацией от имени импортируемого модуля к папке с его исходным кодом. Нажмите ⌘+B на MacOS или Ctrl+B на Windows/Linux на определенном пути импорта зависимостей, и GoLand переместит вас к его источникам в Project View.
Кроме того, Go Modules отображаются теперь с полным путем импорта, а их версии представлены приглушенным цветом шрифта в окне Project View.
Evaluate Expression в отладчике теперь позволяет напрямую вызывать метод встроенного поля.
Многие сервисы, написанные на Go, работают на Linux, и Mozilla rr может помочь в поиске ошибок, которые трудно воспроизвести. Отладка с помощью Mozilla rr поддерживается начиная с GoLand 2018.3, но раньше она работала только на Linux. Теперь можно запустить сервер на Linux и отладить программу удаленно на MacOS или Windows. Следуйте этим инструкциям:
dlv --headless --api-версия 2 -l localhost:2345 Repay /path/to/trace/dir /path/to/binary
. Обратите внимание, что Mozilla rr доступен только на Linux.
GoLand теперь подсвечивает имя и тип неиспользуемого параметра, или только имя, если тип задействован в реализации сигнатуры метода.
В последнем случае IDE предоставляет два быстрых исправления на выбор: Delete parameter names и Rename to _. Такое же поведение предусмотрено для функций и методов, используемых в качестве функционального типа. Такое же поведение предусмотрено для функций и методов, используемых в качестве функционального типа.
Чтобы удалить все неиспользуемые параметры за один раз, нажмите Alt+Enter и воспользуйтесь быстрым исправлением Delete all unused parameters.
GoLand предоставляет быстрое исправление для создания недостающей функции или метода, когда они используются в функциональном типе. Просто нажмите Alt+Enter и выберите Create method/function.
Теперь GoLand предлагает импортировать пакеты на основе используемых псевдонимов через Alt+Enter в любом файле проекта.
Change Signature теперь всегда показывает типы параметров во вкладках Parameters и Result parameters. Для объединения одинаковых типов параметров в сигнатуре пригодится опция Reuse Types.
Кроме того, вы найдете два новых Intention actions: Reuse signature types объединит все одинаковые определения параметров в одном объявлении, а Expand signature, наоборот, добавит типы к каждому параметру через Alt+Enter.
Extract Variable и Rename предлагают подходящие имена для переменных, анализируя контекст. Например, err
для выражения с обработкой ошибки, ctx
— для context.Context
и так далее.
Инспекции кода теперь работают прицельнее. Мы сократили диапазон выделения потенциальных проблем в редакторе, чтобы при вызове контекстного меню через Alt+Enter показывать только самые подходящие быстрые исправления для конкретного участка кода.
Мы улучшили лексинг rune литералов несколькими способами:
Go позволяет использовать существующие переменные в левой части коротких объявлений var. Таким образом, два выражения, которые выглядят одинаково, могут иметь разные значения. Чтобы это было легче заметить, мы добавили подсветку синтаксиса для переназначений.
В GoLand 2019.3 можно сворачивать блоки кода для составных литералов. Используйте переключатели, чтобы сложить или разложить фрагмент кода (либо нажмите Ctrl+NumPad Minus/Ctrl+NumPad Plus на Windows или ⌘+NumPad Minus/⌘+NumPad Plus на MacOS). Чтобы настроить поведение сворачивания блоков кода, перейдите в Settings/Preferences | Editor | General | Code Folding.
Live Templates for и forr предлагают осмысленные имена для переменных. Например, для индекса будут предложены имена i
и index
; для переменной — s
, string
или line
.
Шаблон meth предлагает варианты автодополнения для ресиверов.
С помощью действия Find (⌘+F на MacOS и Ctrl+F на Windows/Linux) теперь можно искать необходимый фрагмент кода в ограниченной области. Выделите нужный фрагмент в редакторе и вызовите Find — GoLand выполнит поиск только в выбранной области. Чтобы легко переключиться на поиск по всему файлу, нажмите ⌘+F/ Ctrl+F во второй раз или используйте опцию In Selection в панели инструментов.
Теперь при использовании диалога Find in Path с опцией file mask GoLand показывает расширения файлов в результатах поиска, чтобы было проще различать файлы с одинаковыми именами.
В GoLand 2018.2 мы добавили Global File Watcher для обмена настройками сторонних инструментов между уже созданными проектами с помощью опций Project и Global.
Однако вам приходилось включать эту функцию для каждого проекта в отдельности. В новой версии можно включить глобальную настройку File Watchers по умолчанию во всех новых проектах, которые вы создаете или открываете.
В меню File выберите Other Settings | Settings for new projects, перейдите к Tools | File Watchers, добавьте новый Global File Watcher, а затем установите флажок рядом с ним, чтобы включать его во все новые проекты.
Часто не хватает времени на изучение What's New, release notes или новой статьи о продукте, которым пользуешься, когда нужно завершить проект и уложиться в срок. Поэтому мы добавили интерактивные уроки, которые помогут узнать о функциональности GoLand, когда для этого будет подходящий момент.
Уроки находятся на экране приветствия над списком проектов. Когда вы обновите IDE до новой версии, там появится урок о новом выпуске. Кроме того, вы можете открыть Tutorials с помощью окна инструментов из любого проекта.
В окне Hierarchy появилась возможность анализа иерархии вызовов метода. Две новые кнопки позволяют переключаться между методами, которые вызываются из текущего или вызывают текущий метод. Также теперь можно сортировать элементы дерева в алфавитном порядке. Чтобы увидеть Hierarchy в списке Tool Windows, необходимо сначала построить иерархию, а затем перейти в меню Navigate | Call Hierarchy or Navigate | Type Hierarchy.
В GoLand 2019.3 можно устанавливать и удалять плагины раскладки клавиатуры и плагины цветовых схем без перезапуска IDE.
Можно задать свой шорткат для действия, которое возвращает фокус обратно в редактор, вместо использования кнопки ESC. Найдите действие Focus Editor в разделе Preferences/Settings | Keymap, щелкните на нем правой кнопкой мыши и выберите Add Keyboard Shortcut из раскрывающегося меню.
Мы добавили возможность сделать полосы прокрутки более видимыми. Для этого установите флажок Use contrast scrollbars в разделе Preferences/Settings | Appearance & Behavior | Appearance.
Новое диалоговое окно Clone расположено под VCS | Get from Version control. Теперь вы можете войти в аккаунт на GitHub прямо из обновленного диалога. Если вы уже вошли в систему, IDE мгновенно покажет списки всех репозиториев, сгруппированных по учетным записям или организациям, в которых вы состоите.
При возникновении конфликтов во время действий merge, rebase и cherry-pick теперь можно подробнее узнать об источнике изменений в диалоге Merge. Просто нажмите Show Details, чтобы просмотреть список коммитов, которые привели к текущему состоянию кода.
В GoLand 2019.3 реализована начальная поддержка MongoDB. Теперь вы можете:
Начать исследовать ошибки подключения теперь можно нажатием всего одной кнопки в IDE — и GoLand откроет результаты об ошибке в поисковике Google.
Если вы используете Bootstrap или другую CSS-библиотеку в своем проекте и в HTML-файле есть соответствующая ссылка на CDN, WebStorm предложит варианты автодополнения для имен классов из этой библиотеки, при этом ее исходный код не нужно добавлять в проект.
При добавлении новых переменных или параметров в файлы на JavaScript или TypeScript, WebStorm будет предлагать варианты для их имен на основе имен классов, интерфейсов и псевдонимов типов, определенных в проекте, стандартных библиотеках и используемых зависимостях.
Для новых переменных, функций, классов и интерфейсов IDE предложит имена, которые уже использовались в той же области, но еще не были определены и отмечены как неразрешенные.