Встречайте议员2021.1 !
ВышелПервыйрелизвтекушемгоду。ПоследниенесколькомесяцевМысовершенствовалиразличныеподсистемынашегопродукта,чтобысделатьегоМаксимальноудобнымдляпользователей。итайтенижеоновойфункциональностиилипосмотритештоВидео。
редактор.
Масштабирование
Размершрифтатеперьможнобыстронастроитьвоткрытомокнередактора-простозажмитеклавишуCTRLипрокрутитеколесикомыши。Размершрифтанезапоминается-когдавысноваоткроетефайл,будетиспользованозначениепоумолчанию。Вы можете включить/отключить эту опцию в разделе首选项|编辑器|常规:改变字体大小与Ctrl/Cmd+鼠标滚轮.
Улучшениепроизводительностиформатированиясотступами
Длянаиболеечастыхсценариевреализацияформатированиясотступами(缩进布局)сталаинкрементальной - этоускоритотрисовкуредакторовбольшихмоделей,которыеиспользуютформатированиесотступами(например,BaseLanguage)。Выможетеотключитьштуопциюприпомошипараметраvmmps.indent_layout.disable_incremental.
Настройкитолщинышрифта
Придлительнойработенадкодомважноподобратьшрифт,которыйбынесильноутомлялглаза。Мыдобавилинастройкитипографики,чтобывымоглиподобратьидеальныеразмерышрифта。Версия2021.1позволяетнастраиватьтолщинуобычныхижирныхшрифтовчерезменю偏好|编辑|字体.
![](http://www.glenndubin.com/wp-content/uploads/2021/05/FontWeight-1.png)
Системаконтроляверсий
УлучшенияАннотированияКода
Использованиедополнительнойинформацииотсистемыконтроляверсийпозволилонамулучшитьаннотациюкода。Новыйалгоритмвычисленияизмененийревизииотслеживаетперемещениеузловвмодели。Цветстрок/ячеексаннотациямиопределяетсятольконаосноветехревизий,гдебылифактическипроизведеныизменения。Еслистолбецсаннотациямираскрыт,товконтекстномменюячееквосновномредакторепоявитсяноваягруппаопций,такихкак本修订号,展示差异идругие。
![](http://www.glenndubin.com/wp-content/uploads/2021/05/vcs-root.png)
Окно Diff для коммитов слияния
длякоммитов,УжеслитыхсосновнойВеткой,Вgit-логедоступноокно差异。ОноВключаетТрипанели:Леваяиправая - ОтображаютВетки,КоторыеподверглисьСлияниянию,центральная - ДемонстрируетРезультатслияния。
![](http://www.glenndubin.com/wp-content/uploads/2021/05/diff-vcs.png)
Синхронизация прокрутки в редакторе Diff
МыдобавилиКнопку,ПозволяшуюВыключитьсинхронизациюпрокруткивокнередактора差异。
![](http://www.glenndubin.com/wp-content/uploads/2021/05/syncButton-1.png)
Использованиеграфаревизийвалгоритмахдляаннотациииисториикода
Раньшеалгоритмыдляаннотациикодаиисториикодаилифрагментабрализаосновуупорядоченныйсписокревизийфайлаивычислялиизменения,сравниваядвесоседниеревизии。Однакоэтидверевизиимоглипринадлежатьразнымветкам——втакомслучаенайденныеизменениястановилисьбессмысленными。Аналогичноревизиислияниямоглиошибочноотображатьизмененияболеераннихревизий。Использованиеграфаревизийприанализеисторииизмененийпозволилоисправитьтакиеошибки。
Действие保存到架子上
Новоедействие保存到货架上копируетизменениянавкладку书架,сохраняяихвлокальнойисторииизменений。Чтобы запустить это действие, нажмите⇧⌘一наmacOSилиctrl + shift + aна Windows или Linux и введите安全的安全.
Генератор
УпрошенныйдоступКПараметрамМакроса$循环$
Теперьвыможетеобратитьсяквходномуузлумакроса循环припомощивыраженияLOOP.inputNode——вамненужноиспользоватьмакросVAR。Втомжепространствеименможнополучитьдоступкиндексу循环:используяLOOP.indexВместонеобходимойранееконтекстнойпеременной。
![](http://www.glenndubin.com/wp-content/uploads/2021/05/loopMacro-1.gif)
Обновленныйоператор转变ВобъявленииGenplan.
Дляулучшениярасширяемостиплановгенерациитеперьестьновыймеханизм,позволяющийподключитьзаранеенеизвестныйнаборязыковигенераторов。Вы можете использовать оператор变换дляподключенияязыка,расширяющеготекущийязыкилисчитающегоегоцелевым。Говоря,чтоязыкБсчитаетязыкА«целевым»,мыподразумеваем,чтогенераторязыкаБпроизводитконструкцииязыкаА。
Улучшениескомпилированныхшаблонов
ideВ.Настройкахгенератораимеетсяопция警告孩子不能被置于角色,Котораяпроверяет,МожетлисоздаваемыйобразецузлабытьиспользованвуказаннойролиродительскогоУзла。этаопциятакжедоступнавнастройкахсборкипроектов。ГенераторМожетпоказатьпредупреждение,Котороеобычноозначает,чтовшаблонахимештсянесоответствия,НапримернеправильноразмешенныефрагментышаблонаилианнотацияCOPY-SRC。
ТакаяПроверкаотсутствовалаприиспользованииСкомпилированныхшаблонов。ВсоответствушейОпциискомпилированныешаблоныпроверяют,праверяшт,праверниеузлыразмешенывродительских。
Разное
Java-компилятор для модулей MPS с фасетом Java
МысушественноизменилиПодходККомпиляциимодулейMPSВava。этонапрямуюсвязаносзадачейпоподдержкеОбработкиАннотаций.,получившейБольшоеколичествоголосов.МыперевелиинфраструктуруJava -компиляторадля议员нанаборAPIjavax.tools.JavaCompiler——теперь议员можетиспользоватьлюбойкомпилятор,которыйреализуетстандартныйAPIjavax.tools.НаданныйМоментMPSПрименяетТотКомпилятор,КоторыйназначенСтандартнымдляданногоAPI。Прижеланиивыможетевыбратьjava(ecj)的Eclipse编译器,Еслиондоступен。Когдав类路径ЕстьбиблиотекиEcj,МожноПереключитьMPSНаИспользованиеEcj,Задавmps.compiler.java = ecjв качестве свойства системы (например, изменивmps.vmpoptions)。Следуетотметить,чтоеслиприиспользованииинфраструктурыновогокомпиляторавозникнутнеустраняемыепроблемы,томожнозадействоватьустаревшиймеханизмпAPIрямойкомпиляцииECJ,изменивконфигурациюнаmps.compiler.java = Ecjlegacy.в качестве свойства системы。
Крометого,СейчасмызапускаемКомпиляторсопцией释放сверсией,указаннойвнастройкахпроекта(首选项- > Java编译器)。Эта опция строже, чем сочетание源/—target,КотороеиспользовалосьMPSВПредыдушихрелизах,ПосколькуонаконтролируетприменениеAPIБиблиотек,Которыебылидоступнывопределенныхрелизах。Еслииз-заиспользованияAPI,недоступныхвнекоторыхрелизах,выстолкнетесьспроблемамикомпиляции,возможно,придетсяобновитьверсию的Javaвпроекте。
Исходная версия MPS для миграции проекта
Присозданиипроектатеперьсохраняетсязначение«Исходной»ВерсииMPS。МиграциинсверсийMPS,Предшествушихисходной,Неприменяются。Этодаетавторамвозможностьназначить«исходный»порогдлямиграцийпроекта(версиюможноизменитьвинтерфейседлямиграциипроектов,используяметод«getBaselineVersion():INT»)。
ЕслидляпроектаотсутствуетВерсия,примиграцииверсиейпоумолчаниюБудет2018.1。МиграциюЛюбогоПроектаМожнозапуститьвручнуюизменю迁移。
Улучшения рефакторинга方法签名
Вокнерефакторинга方法签名теперьможноуказатьзначенияпоумолчаниюдляновыхаргументовилиаргументов,укоторыхпоменялисьтипы。Есливыудалитепараметрметода,новкодеостанутсяегоиспользования,议员введетновуюлокальнуюпеременнуюитакимобразомвосстановитсвязь。,Крометоготеперьобрабатываютсяпараметрытипа变量参数。
Когдавызовметоданесоответствуетегосигнатуре,议员предложитпоправитьсигнатуруметодавсоответствиисвызовомприпомощи意图——действия。Мыусовершенствовалиэто意图——действи:етеперьоноболееграмотносопоставляетсуществующиепараметры,приэтомповторноиспользуетсяихмаксимальноеколичествоисохраняютсяихссылки。
![](http://www.glenndubin.com/wp-content/uploads/2021/05/signature-method.png)
Новые возможности для комментариев basellanguage
Языкlang.text.получилнескольконовыхвозможностей——этонапрямуюулучшилоработусоднострочнымиимногострочнымикомментариямивBaseLanguage。
- Выделяятекстсверхувнизилиснизувверх,Вытеперьможетезахватыватьстрокичастично。
- теперьвыможетесделатьирным.,выделитьКурсивомили.подчеркиваниемвыделенныйтекст。
- РаботаетКопирование/ВставкаобычногоТекста。
- Выможетедобавлятьмаркированныеинумерованныесписки。
Улучшенныевыраженияlang.smodel
Выражения.model.rootsIncludingImported model.roots (), ()иmodel.nodesincludingimported()теперь,аналогичноmodel.nodes (),поддерживают #表达для указания концептов。
УправлениеВидимостьюМодулейПлагина
Долгоевремявосчиталось,чтоконечномупользователюВиднывсемодулиизязыковыхплагинов。Из-заувеличениячислаязыковиусложненияплагиновбываютслучаи,когдаразработчикиязыковхотятскрытьопределенныемодули,чтобынезапутатьинеперегрузитьконечногопользователяогромнымколичествомневостребованныхязыковилифункций。ПлагинысообщаштMPS®Том,КакиеМодулионизатрагивают,Припомоширасширенияcom.intellij.mps.LanguageLibrary.Теперь у расширений есть опциональный атрибут隐藏= " true ",которыйразрешаетфильтроватьмодулиплагинанаосновеобразца,указанноговcom.intellij.mps.VisibleModuleMask。Убольшинстваплагинов议员появилсяфлажокдляудобствафильтрациисобственныхязыков议员,еслиразработчикуязыковнеобходимоихскрыть。议员обеспечиваетдлясвоихмодулеймаскивсоставеплагинаJetbrains.mps.ide.devkit,причемразработчикисобственныхIDEобычноневключаютэтотплагинвдистрибутивиполностьюконтролируютотображаемыемодулисвоегопродукта。
Другиеулучшения
Предварительныйпросмотрhtml-файлов
Мы добавили встроенное превью для html -файлов。Чтобыегооткрыть,нажмитеналоготип议员ввиджетевправомверхнемуглуредактора。Превьюобновляетсявреальномвремени,когдавыредактируетеHTML -кодилиизменяетесвязанныеCSS JavaScript—фиайлы。
![](http://www.glenndubin.com/wp-content/uploads/2021/05/htmlPreview-1.png)
поддержкаpleastillicon.
теперьвыможетепользоватьсяmpsнаmac-устройствахсчипомm1。СкачатьустановшикJetbrinaMpsдляAppleSiliconМожноснашегосайталибоизTogubbox应用程序。
Автоматическийимпортнастроек
Раньшеокно导入设置Появлялоськаждыйраз,КогдавыустанавливалиновуюверсиюMPS。Теперь,ЕслиIdeнайдетнеобходимыеконфигурационныефайлы,Окнонепоявится。
Специальныевозможности
Вэтомвыпускемыдобавилибольшеметоккэлементаминтерфейсаначальногоэкрана,панели项目结构и风投——лога。Теперьэтиэлементы,какизначкинаполяхредактора,корректнообрабатываютсяпрограммамичтениясэкрана。МытакжезанимаемсярасширениемподдержкиспециальныхвозможностейдляпользователейmacOS。
Незначительныеизменения
- теперьпоказываетсявыполнение意图 - действиямакроса呼叫网站。(议员- 32928)
- Внесеныизменениявдиалоговоеокноновоймодели。(MPS-30787.)
Крометого,исправленРядошибок。Поделитесьснамисвоимивпечатлениямионовойфункциональности。Мыоченьрассчитываемнавашиотзывывкомментарияхниже。Напоминаем, что в нашембаг-трекереМожнооставлятьзапросыодобавленииновойфункциональностииголосоватьзалюбыесушествушиезапросы。штопомогаетнамопределиться,Какиефункциональностиследуетвключитьвближайшиерелизы。
ВашаКомандаJETBRAINSMPS
开发的驱动器