В GoLand 2024.1 появилось несколько важных новых функций.
Кроме того, в новой версии добавлено много улучшений интерфейса и внутренних инструментов. Поехали!
В меню Settings | Editor | General | Code Completion | Machine Learning-Assisted Completion можно настроить эту функцию и выбрать языки, для которых вы хотите получать варианты автодополнения целых строк.
Теперь индексирование в GoLand стало значительно быстрее. По нашим оценкам, скорость выросла в среднем примерно на 30%. Разумеется, результаты будут разными у разных пользователей в зависимости от специфики проекта и аппаратного оборудования. Поделитесь с нами своими результатами! Здесь приведен пример индексации с использованием фреймворка Gin.
Это улучшение обеспечивает подсветку ссылок сразу после запуска IDE. Лучше один раз увидеть, чем сто раз услышать, поэтому мы подготовили для вас два примера.
В версии 2023.3 появилось встроенное автодополнение для блоков функций и методов. В версии 2024.1 оно будет также доступно для объявлений структур и интерфейсов. Предлагая вариант автодополнения внутри объявления типа, функция учитывает контекст использования, родительскую структуру и ссылки. В результате варианты, предложенные ИИ, становятся более точными.
Новая версия GoLand может генерировать документацию для целых типов, методов интерфейса и полей структур. Чтобы создать документацию, поместите курсор в любое место определения поля и выберите в меню AI Actions действие Write documentation. Можно также ввести // перед определением поля, чтобы посмотреть варианты.
Теперь пользователи могут настроить запросы для некоторых действий, например для генерации сообщения коммита, чтобы получить более точные индивидуализированные результаты.
Начиная с версии 2024.1, пользователь может экспортировать файл со сниппетами, сгенерированными чат-ботом. Кроме того, задавая вопросы чат-боту, можно приложить файлы для уточнения контекста.
В версии 2024.1 разработчикам будет удобнее заниматься удаленной разработкой: подсветка, рендеринг и общая эффективность теперь практически не отличаются от локального программирования. Вы можете сами убедиться, что подсветка и автодополнение работают практически так же быстро, как и на локальной кодовой базе.
Более того, пользователи могут управлять удаленными проектами, создавать новые или открывать существующие прямо из клиента IDE.
В новой версии запустить контейнер среды разработки (с локального диска или из VCS) можно прямо на начальном экране. Раньше для этого нужно было сначала открыть проект.
Теперь контейнеры среды разработки включают в себя шаблоны файлов для всех распространенных языков программирования.
Добавлены настройки, позволяющие пользователям сконфигурировать бэкенд-JetBrains IDE (например GoLand или CLion) прямо в файле devcontainer.json
.
GoLand версии 2024.1 распознает файлы devcontainer.json
, где бы в проекте они ни хранились. Раньше их нужно было обязательно хранить в папке ~/.devcontainer
.
range
для целочисленных переменных и функций В Go 1.22 появилась возможность удобной итерации целочисленных переменных и функций — гораздо более компактной, чем при использовании классического цикла for
.
Вендоринг расширяет возможности контроля зависимостей в проекте, поскольку их теперь можно хранить в репозитории проекта. В Go 1.22 команды в рабочем пространстве могут использовать директорию vendor
, где находятся зависимости рабочего пространства. Новая версия GoLand поддерживает это улучшение.
Анализ потоков данных появился в GoLand 2023.3, а в версии 2024.1 эта функция была доработана и теперь включена по умолчанию. DFA в GoLand в настоящее время поддерживает три инспекции: Constant conditions detection, Potential nil dereference и Error may be not nil. Подробнее об этих улучшениях — в нашем блоге.
terraform init
Чтобы инициализировать рабочую директорию, используя файлы кода Terraform, необходимо сначала выполнить команду terraform init
. Об этом часто забывают, в итоге Terraform выдает ошибку, возможности автодополнения кода оказываются ограничены, а документация отображается лишь частично. Чтобы избежать этих проблем, новая версия IDE явно предлагает выполнить инициализацию terraform init
.
Теперь плагин Terraform предлагает расширенные возможности автодополнения кода для более чем 3900 сторонних поставщиков Terraform, чтобы разработчикам было проще писать эффективный код. Помимо этого, вы прямо из IDE получаете доступ к документации по каждому из этих поставщиков и к их собственным версиям решения.
Это позволяет быстрее находить новых поставщиков Terraform и узнавать об их возможностях, не выходя из IDE.
tftpl
) Мы рады представить поддержку языка шаблонов Terraform (tftpl
), который упростит создание необходимых для работы файлов конфигурации, скриптов или любого программного кода, например конфигураций веб-серверов, сетей или сервисов. Создавать шаблоны стало еще проще! Теперь можно динамически подставлять в шаблоны значениям во время выполнения, упростив процесс рендеринга шаблонов для конкретных случаев использования.
Язык шаблонов Terraform не просто поддерживает создание шаблонов переменных и элементы потока управления, но и включает в себя списки, сопоставления, а также возможность генерации кода в формате JSON и YAML.
В GoLand 2024.1 был заметно доработан терминал: улучшен как его внешний вид, так и функционал, чтобы работать с ним было проще и удобнее. Терминал предлагает удобный доступ к истории и простую навигацию между блоками, а также советы по каждой доступной команде.
Новое окно Terminal полностью интегрировано в новый интерфейс и оформлено в соответствии с обновленным внешним видом IDE. В нем доступны возможности автодополнения для команд, путей, аргументов и параметров. Подробнее читайте в нашем блоге.
GoLand 2024.1 позволяет одновременно уменьшить размер всех элементов интерфейса IDE. Первоначально масштаб можно было только увеличивать от 100% до 200%. В новой версии размер элементов интерфейса IDE можно уменьшить до 90%, 80% или 70%.
Для упрощения работы с большими файлами и исследования новых кодовых баз мы добавили липкие строки в редакторе. Эта функция позволяет закрепить в верхней части окна редактора основные структурные элементы, например начала классов или методов, чтобы они были постоянно видны во время прокрутки кода. Благодаря этому основные области будут постоянно на виду, и для быстрой навигации достаточно просто кликнуть по закрепленной строке.
Новая версия GoLand предлагает пользователям GitHub и GitLab более простой и гибкий процесс ревью кода. Благодаря новому режиму ревью авторам и ревьюерам стало удобнее взаимодействовать прямо в редакторе. Подробнее.
Мы добавили новый столбец на вкладке Log окна Git, чтобы было удобно узнать результаты проверок коммитов в GitHub, выполненных CI-системой. Просто нажмите на вкладку, чтобы посмотреть полную информацию о CI-проверках.
Мы добавили визуальные индикаторы, указывающие на обновления, ожидающие одобрения в рамках процесса ревью кода. Если какие-то изменения требуют вашего внимания, на иконке окна появляется голубая точка. Кроме того, голубой точкой помечаются непросмотренные пул-реквесты, так что вы точно не пропустите изменения в ходе код-ревью.