I would like to view this page in
В MPS 2024.3 был улучшен интерфейс, переработаны многие компоненты и добавлено создание итоговых исполняемых файлов к функции TextGen. Кроме того, мы улучшили поддержку иконок и сделали ряд обновлений платформы.
Подробнее о нововведениях читайте далее.
В окне ProjectView теперь три папки верхнего уровня для лучшей организации структуры проекта:
Папка Checkpoints and Transient Models всегда отображается под папкой Modules Pool и будет пустой, если в проекте нет соответствующих моделей. Эти модели теперь отображаются в этой папке, а не на верхнем уровне, как раньше.
Кроме того, новая папка Checkpoints and Transient Models позволяет сохранять в окне ProjectView раскрытые и свернутые поддеревья структуры проекта при перезапуске MPS.
Новая версия MPS учитывает указанные ниже параметры включения/отключения вкладки предпросмотра (Preview Tab), заданные в IntelliJ Platform, чтобы редактор вел себя так же, как в других инструментах JetBrains:
У test configuration
в билд-скриптах (build scripts) появился дополнительный параметр reports dir. Пользователь может указать целевую директорию, где будут храниться сгенерированные отчеты о тестах JUnit.
К определениям быстрых исправлений Quick-Fix добавлен новый раздел applicable, который позволяет управлять применимостью быстрого исправления. Значение по умолчанию — <always>
, то есть применимость не ограничена.
Иконки и изображения, использующие путь относительно модуля, при генерации больше не копируются каждый раз туда, где они будут использоваться. Вместо этого они один раз помещаются в модуль дистрибутива в виде файлов изображений и доступны для использования из этого места. Это дает сразу два преимущества: не создаются дубликаты файлов изображений, то есть экономится дисковое пространство, а доступ к изображениям возможен как из модуля дистрибутива, так и из исходного модуля.
В дополнение к существующим концептам TextIcon и FileIcon добавлен новый концепт ConstantFieldIcon. Он позволяет указать иконку с помощью ссылки на определенное объявление статического поля, которое содержит экземпляр javax.swing.Icon
.
Поскольку нужно было улучшить обработку файлов иконок, мы добавили новый механизм, позволяющий при генерации текста создавать исполняемые файлы вместо текстовых. Новый API включает в себя операцию write
, которая напрямую обрабатывает данные как экземпляры byte[]
.
Все окна, такие как Inspector, HierarchyView и Usages, были переработаны, и теперь они больше не связаны с давно не используемым механизмом компонентов проекта (ProjectComponent), который когда-то существовал в IntelliJ Platform. Изменения в API были минимальными, но для некоторых окон изменился механизм их получения из кода.
Project.getComponent()
больше не возвращает никакие окна. com.intellij.openapi.project.Project.tool <ToolConcept>
. getInstance()
: UsagesViewTool.getInstance()
InspectorTool.getInstance()
EditorContext.inspectorTool()
. Мы переработали не только окна, но и основную часть базовых функций MPS, чтобы отказаться от использования механизмов IntelliJ IDEA ApplicationComponent и ProjectComponent.
Раньше MPS широко использовал возможности IntelliJ Platform для сборки целых приложений. Теперь мы сделали рефакторинг большинства старых компонентов, чтобы они использовали современные API MPS или IntelliJ IDEA (например, службы и точки расширения проектов/приложений в IntelliJ IDEA, CoreComponents и расширения в MPS, и т. д.). Осталось еще несколько компонентов, от которых команда MPS планирует избавиться в следующей версии.
Большинство пользователей, вероятно, вообще не заметят разницу, разве что время запуска сократится.
Если ваш код использует устаревший механизм получения компонентов платформы и не может их теперь найти, прочитайте наше Руководство по миграции.
Новая версия MPS использует новый интерфейс. Если вы хотите включить прежний вариант, установите плагин классического интерфейса.
Как обычно, в новой версии мы исправили немало ошибок. Полный список устраненных проблем приведен здесь.
Мы переходим с JetBrains Runtime 17 (JBR17) на JetBrains Runtime 21 (JBR21). Начиная с IntelliJ IDEA 2024.2, все обновления IDE будут включать JBR21, обеспечивая лучшую безопасность, производительность и поддержку рендеринга Wayland для Linux.
Теперь IntelliJ IDEA автоматически обнаруживает системные настройки прокси на вашем компьютере и использует их по умолчанию. Это упрощает взаимодействие с внешними ресурсами и сервисами.
Мы изменили расположение и поведение элементов в диалоге Customize Main Toolbar, сделав его более структурированным и удобным. Искать, добавлять и удалять действия на главной панели инструментов стало проще.
Теперь в редакторе по умолчанию можно держать открытыми до 30 вкладок, прежде чем IDE начнет закрывать наименее используемые. Эту настройку можно изменить в разделе Settings | Editor | General | Editor Tabs.
Теперь IntelliJ IDEA отображает математические формулы в Markdown-файлах. Работая с Markdown, используйте $
, чтобы добавить формулу на строке, и $$
для блоков кода с формулами.
Теперь в виджете Version Control есть отдельный узел для тегов, чтобы их было легче просматривать. Он отображается по умолчанию, но вы можете его скрыть, нажав на значок шестеренки и сняв флажок Show Tags.
Теперь все настройки окна Log собраны на одной странице, которую можно найти в разделе Settings/Preferences | Version Control | Log или в новом выпадающем меню на панели инструментов окна Log.
Теперь на начальном экране IDE отображается название текущей ветки, что помогает лучше ориентироваться при работе с разными версиями проекта и упрощает переключение между рабочими директориями.
Мы добавили новые опции для упрощения просмотра истории веток в Git. Используйте опцию First Parent, чтобы сосредоточиться на основных изменениях, скрывая отдельные коммиты из слияний. Либо вы можете полностью исключить коммиты слияния, выбрав опцию No Merges. Обе опции вы найдете под значком Graph Options в окне Git, и вам будет удобнее следить за изменениями в ветках.
В новом терминале улучшена обработка команд, а интерфейс стал более удобным и интуитивным. Терминал стал быстрее и лучше реагирует на запросы. Переключение между сессиями стало плавным, и состояние сохраняется на всех вкладках, чтобы работа не прерывалась. Автодополнение быстрее подбирает команды, флаги и пути, экономя ваше время. Также мы добавили новые возможности кастомизации: стили подсказок, имена сессий и переменные окружения.
Перед каждым крупным релизом мы готовим инструкции по миграции с более старых версий MPS, чтобы все прошло гладко. Не забудьте ознакомиться с ними.