MPS 2020.1의 새로운 기능

MPS 2020.1 버전에서 Editor 개선 사항, Light 패턴 언어, 스텁 모델용 Javadocs, 향상된 BaseLanguage를 비롯한 다양한 새로운 기능을 확인해 보세요!

목록 위치에 따라 다른 구분 기호 사용

목록 위치에 따라 다른 구분 기호 사용

기수 (0,n) 또는 (1,n)이 포함된 노드를 편집할 때 구분 기호 쿼리 함수를 구현하여 값 사이에 사용자 지정 구분 기호를 제공할 수 있습니다. 이 기능은 쿼리 함수(prevNode 및 nextNode)에 더 많은 인수를 전달해 그 성능을 확장하여 값의 각 페어에 사용자 지정 구분 기호를 제공할 수 있게 해줍니다. 다음 스크린샷에서 "and" 및 ","는 구분 기호입니다.

자세히 알아보기

Light patterns

Light patterns

패턴 언어를 사용하면 구조 패턴을 정의하고 노드를 해당 패턴에 일치시킬 수 있습니다. 패턴 언어는 패턴이 허용 대상 노드와 유사하게 보이도록 일반 개념 에디터를 사용합니다. 그러나 개념 구조와 정확히 일치하지 않는 일부 복잡한 에디터의 경우 필요한 구조를 문자 그대로 설명하는 light patterns(패턴 빌더)을 사용하는 것이 더 편할 수 있습니다.

자세히 알아보기

툴팁

툴팁

mbeddr 플랫폼의 툴팁 에디터 확장 프로그램이 MPS에 추가되었습니다. 또한 mbeddr 언어에 마이그레이션도 제공됩니다.

자세히 알아보기

변환/교체 메뉴: 이름 지정된 메뉴와 기본 메뉴 병합

변환/교체 메뉴: 이름 지정된 메뉴와 기본 메뉴 병합

이 개선 사항에서는 이름 지정된 에디터 메뉴(SubstituteMenu_Named) 및 기본 에디터 메뉴(SubstituteMenu_Default)에 대한 사용자 지정 개념을 제거하여 Transformation(변환) 및 Substitution(교체) 메뉴를 간소화했습니다. 두 개념은 해당 개념의 상위 개념(SubstituteMenu)으로 병합되었으며 메뉴 유형은 메뉴 에디터에서 선택됩니다. Transformation 메뉴에도 동일한 리팩토링이 적용되었습니다.

손상된 에디터의 오류 탐지

언어의 에디터 측 내에 있는 코드에서 예외를 던지면 해당 언어로 작성된 모델의 해당 셀에 대한 기본 에디터가 표시됩니다. 2020.1부터는 이러한 종류의 손상된 셀이 에디터에서 열리면 Messages(메시지) 도구 창에 오류가 표시됩니다. 이 오류에서 스택 추적을 얻으면 문제 셀로 이동할 수 있습니다.

자세히 알아보기

기존 텍스트 위에 입력

Type over existing text(기존 텍스트 위에 입력)은 프로젝션 에디터를 텍스트 에디터와 비슷하게 사용할 수 있도록 하는 새로운 기능입니다. 사용자가 텍스트 셀에 입력할 때 방금 입력한 문자가 커서 위치에 이미 있으면 기존 문자를 덮어쓰는 것처럼 커서가 움직입니다. 이 기능은 키 입력을 정상적으로 처리할 수 없어서 무시하거나(예: 상수 셀에서) 셀 내용을 무효화할 경우에만 트리거됩니다.

이 기능은 기본적으로 켜져 있으며 Settings(설정) / Editor(에디터) / General(일반)에서 끌 수 있습니다.

자세히 알아보기

불필요한 언어 확장자 제거

이제 생성기에서 다른 언어용 에디터 확장 기능을 탐지하고 해당 종속 요소를 명시적으로 나타내는 코드를 생성합니다. 따라서 이제 언어 설계자는 언어 간의 특정 종속 요소에 대해 걱정할 필요가 없습니다. 또한 언어 모듈 간의 'extends' 종속 요소를 사용해 편집기 확장 기능을 활성화할 필요가 없습니다.

자세히 알아보기

Java 스텁 모델 내 Javadoc 주석

라이브러리 소스가 포함된 zip 및 라이브러리 jar을 지정하는 새로운 메커니즘이 생겼습니다. 이제 MPS는 소스에서 javadoc을 추출하여 클래스 파일에서 추출된 정보와 함께 이를 표시할 수 있습니다.

자세히 알아보기

BaseLanguage 내 여러 줄 주석

SingleLineComment의 기능이 약간 향상되고 새로운 MultiLineComment 개념이 BaseLanguage에 도입되어 Java와 같은 방식으로 /* … */ 심볼로 구분된 주석이 지원됩니다.

Java 언어에서 영감을 얻은 BaseLanguage 개선 사항

이제 BaseLanguage에 try-with-resources 문, 여러 예외 포착, 지역 변수 유형 추론, default 및 private 인터페이스 메소드가 포함됩니다. 특정 Java 언어 수준이 필요한 빌드 프로세스와의 호환성을 제공하려면, 각 솔루션을 구성하여 해당 수준과 호환되지 않는 언어 기능을 사용 금지시키면 됩니다. j.m.baseLanguage.varVariable이 필요한 지역 변수 유형 추론 기능을 제외하면, 이러한 기능은 추가적 언어 가져오기가 필요하지 않습니다.

마이그레이션 가이드 보기

기타 개선 사항

모달이 아닌 커밋 인터페이스

보다 간결한 커밋 작업 흐름을 위해 커밋과 관련된 모든 작업을 처리하는 새로운 커밋 도구 창을 개발했습니다. 이 창에서는 수정된 파일과 Diff 목록을 처리할 방법이 다양하게 제공되어, 변경 준비 완료 시 커밋에 변경 내용을 추가하고 커밋 메시지를 반복적으로 구성하며 스테이징된 변경 내용을 어떤 커밋에 포함할지 선택할 수 있습니다.

기본적으로 활성화되어 있지 않기때문에, 한 번 사용해 보고 싶으신 경우 Preferences/Settings(기본설정/설정) | Version Control(버전 관리) | Commit(커밋)에서 "Use non-modal commit interface"(모달이 아닌 커밋 인터페이스 사용)를 선택하세요.

Zen 모드

이 새로운 모드에는 Full Screen(전체 화면) 모드와 Distraction Free(집중력 분산 방지) 모드가 결합되어 있어 사용자가 코드에 집중할 수 있습니다. Zen 모드를 사용해보려면 View(보기) | Appearance(꾸미기) | Enter Zen Mode(Zen 모드 시작)로 이동하세요.

IDE에서 Git 설치

수동으로 Git을 사전 설치할 필요가 없습니다. 기존 Git 저장소를 복제하면 IDE가 컴퓨터에서 Git 실행 파일을 찾고, 찾을 수 없는 경우 해당 파일을 다운로드하여 설치하도록 제안합니다.

Config 파일 경로

MPS 2020.1에서는 Config 파일 경로가 변경되었습니다.

자세히 알아보기

JetBrains Mono를 기본 글꼴로 사용

MPS는 이제 새로운 JetBrains Mono 글꼴(Preferences(기본 설정)/Settings(설정) | Editor(에디터) | Font(글꼴))을 기본 글꼴로 사용합니다. 이 개발자 친화적인 새로운 글꼴에 대한 모든 세부 정보는 웹사이트에서 확인하세요.

마켓플레이스의 MPS 플러그인

이제 JetBrains 플러그인 마켓플레이스에서 MPS 플러그인을 구입 또는 판매를 할 수 있습니다. 이에 따라 플러그인을 상용화할 수도 있어 다양한 새로운 기회가 열릴 것입니다.