+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

JetBrains представила MPS 2021.2

JetBrains представляє MPS 2021.2

JetBrains Випущена версія 2021.2, другий великий випуск MPS цього року

Короткий огляд нового функціоналу

Вікно автозаповнення

Раніше ви натискали ctrl/cmd + пробіл для виклику автозаповнення. Тепер вікно автозаповнення з'являється автоматично – через півсекунди після того, як ви припините вводити текст. Ви все ще можете відкрити його вручну. Автоматичне відкриття в чомусь відрізняється від ручного:
- Це не працює для порожніх клітин.
- Не працює, якщо немає опцій автозаповнення.
- Вікно автоматично закривається, якщо немає опцій автозаповнення.
- Вікно закривається автоматично при очищенні комірки.

Щоб увімкнути/вимкнути цю функцію, використовуйте пропозиції показу під час введення перемикача в налаштуваннях редактора/ загального/завершення коду. За замовчуванням нова поведінка ввімкнуто.

Покращене представлення змін обгортки в дифах VCS

Тепер ви можете працювати з перенесенням змін з більшою гнучкістю. Якщо ви додасте або видалите обгортку для блоку коду або внесете зміни в сам блок, ці зміни будуть вважатися іншими. Зміни обгортки, які відбуваються поспіль, тепер також відокремлені один від одного. Крім того, MPS тепер бачить перестановку вузла, навіть якщо батьківський вузол змінив ідентифікатор.

Покращене відображення змін в атрибутах вузла

Раніше клітинки атрибутів були неправильно виділені у вікні Diff. Зазвичай, коли атрибут додавався або видалявся, виділявся весь вузол, а не атрибут.

Універсальний механізм перевірки орфографії

MPS запозичує у IntelliJ IDEA механізм перевірки орфографії, що дозволяє знаходити помилки і помилки в коментарях і рядкових літералах. Тепер ви можете застосувати цю функціональність до будь-якого тексту, що відображається в редакторі. Щоб вказати, що ви хочете звірити текст у комірці зі словником (відповідно до параметрів у налаштуваннях), додайте стиль spellcheck для відповідної комірки в описі редактора.

У випадку з Rich Client Platform (RCP), не забудьте включити jetbrains.mps.editor.spellcheck.

Керування версіями проекту для перенесення

Траплялося, що проект, який був портований на більш нову версію MPS, міг бути відкритий розробником за допомогою більш старої версії. Міграція тепер враховує версію MPS-фреймворку під час виконання міграції і повідомить вас пізніше, якщо ви хочете відкрити проект, який було перенесено на новішу версію. Це допомагає запобігти випадковим збуренням в моделях.

Оптимізація набору видимих посилань

МПС має механізм розрахунку набору видимих елементів при першому зчитуванні моделі. Для цього  j.m.lang.constraintsдодаються нові вирази:for model [ factory, key], visible roots [concept] , іvisible nodes [concept]   - замість new ModelPlusImportedScope(model, rootsOnly, concept). Нові вирази використовуються для збереження видимих елементів моделі в кеш, а значить, їх не потрібно записувати і перераховувати.

Редагування вузлів без обмежень

При написанні коду, який взаємодіє з моделями MPS, авторам розширень потрібно вибрати, який рівень доступу призначений. Для операцій SNode (наприклад, setProperty(), addChild() і так далі) можна було призначити тільки командний доступ, навіть якщо користувачеві не потрібно було взаємодіяти з інтерфейсом. Ми послабили це обмеження: будь-який код, який визначає доступ до запису для моделі, тепер може вносити зміни до вузлів.

Спливаючий радар

Для роботи зі спливаючими вікнами з'явилися радари: вони показують, для яких осередків доступні спливаючі вікна. Щоб активувати радар для спливаючого вікна, натисніть і утримуйте клавішу Ctrl.

Діамантовий оператор

BaseLanguage тепер дозволяє використовувати алмазний оператор Java для виведення загальних параметрів з контексту в конструкторі. Оператор алмаза буде доступний за замовчуванням для нового коду. Щоб використовувати його для існуючих дизайнерів, видаліть існуючі параметри типу і встановіть параметри типу умовиводу на true у вікні Інспектора, або введіть <> знову і видаліть порожній параметр.

Удосконалення властивостей базової мови

При перевірці на типи MPS тепер правильно враховує базовімови властивості. Якщо ви успадковуєте властивість від вхідних або абстрактних методів, ви більше не будете отримувати помилок для нереалізованих методів. Якщо ви визначили властивість за допомогою загального типу, для доступу до неї буде використано правильний тип.

Зверніть увагу, що сетер для властивості типу T поверне об'єкт типу T, а не порожнечу.

Послідовна поведінка для відображення диффа

У новій версії MPS відмінності між оригінальною і зміненою версіями файлів відображаються за замовчуванням прямо у вкладці редактора, незалежно від того, як ви називаєте дію Show Diff .

Якщо ви віддаєте перевагу відстежувати зміни в окремому вікні, ви можете перетягнути потрібний файл з редактора. IDE запам'ятає це і продовжить відкривати диф в окремому вікні.

Інші вдосконалення

Нова опція навігації в налаштуваннях/налаштуваннях

У правому верхньому куті вікна «Налаштування/Налаштування» з'явилися стрілки, що дозволяють переміщатися між секціями вперед/назад.

Перетягування вікон

Тепер можна просто перетягнути потрібне вікно в зручне місце – як всередині головного вікна IDE, так і в окремому вікні. Просто натисніть на рядок заголовка і перетягніть до будь-якого виділення.

удосконалення терміналу

Тепер у вас є можливість вибрати з більшої кількості фігур курсору для вбудованого терміналу. Крім того, термінал тепер підтримує комбінації клавіш з Option (⌥) як мета-клавішею. Наприклад, можна використовувати такі комбінації:

⌥+F — перейти до наступного слова;

⌥+B — перейти до попереднього слова;

⌥+D - Видалити наступне слово.

Правила міграції

Документація тепер включає розділ з найкращими практиками переходу на нові версії. JetBrains оновлюватиме його, коли з'являться нові версії.

Інші новини

Найкраща ціна