首 頁
手機(jī)版

JetBrains MPS 2024(語言編程開發(fā)環(huán)境) v2024.1官方版

Meta Programming System,創(chuàng)建您自己的領(lǐng)域特定語言。

  • 軟件大?。?60.42M
  • 軟件語言:多國(guó)語言
  • 軟件類型:國(guó)外軟件
  • 軟件授權(quán):商業(yè)軟件
  • 更新時(shí)間:2024/09/26
  • 軟件類別:編程軟件
  • 應(yīng)用平臺(tái):Windows11,Windows10
網(wǎng)友評(píng)分:7.3分
網(wǎng)友評(píng)論(1) 下載地址 收藏該頁
本地下載

JetBrains MPS 2024電腦版是一款功能強(qiáng)大、靈活且易于使用的語言編程環(huán)境和DSL創(chuàng)建工具,不僅為開發(fā)人員提供了創(chuàng)建自定義語言結(jié)構(gòu)的能力,還提供了一套完整的開發(fā)工具,以支持高效的編程實(shí)踐。無論你是一名經(jīng)驗(yàn)豐富的開發(fā)人員還是初學(xué)者,軟件都能幫助你實(shí)現(xiàn)面向語言編程范例,并加速你的開發(fā)過程。

目前JetBrains MPS的核心功能之一是允許用戶自由地創(chuàng)建語言結(jié)構(gòu),例如方法或類,開發(fā)人員可以輕松地定義和實(shí)現(xiàn)自定義的方法和類,以滿足特定領(lǐng)域的需求,除了創(chuàng)建語言結(jié)構(gòu)外,軟件還提供了豐富的工具和功能,包括智能代碼補(bǔ)全、語法高亮、錯(cuò)誤檢查和調(diào)試等功能,可以有效地幫助開發(fā)人員提高編碼效率并減少錯(cuò)誤。此外,JetBrains MPS還與其他JetBrains工具和生態(tài)系統(tǒng)無縫集成,使開發(fā)人員能夠充分利用已有的代碼庫(kù)和插件,歡迎有需要的用戶朋友們下載使用。

JetBrains MPS電腦版

JetBrains MPS 2024.1新功能

一、針對(duì) Kotlin 的增強(qiáng)平臺(tái)支持

MPS 中的 Kotlin 支持最初設(shè)計(jì)為僅支持通用代碼。不過,MPS 中唯一可能的用例是編譯到 JVM,并且通用代碼和 JVM 代碼之間的區(qū)別并不清晰。

在這個(gè)版本中,我們?yōu)?Kotlin 節(jié)點(diǎn)引入了平臺(tái)源集配置。這讓您可以識(shí)別一段代碼支持哪些目標(biāo)平臺(tái)并隱藏不兼容代碼中的聲明。

1、源集

在常規(guī) Kotlin 項(xiàng)目中,您可以使用源集來分離針對(duì)不同平臺(tái)的代碼。在 MPS 中,我們?cè)诟?jí)別引入了此功能,其中包含為每個(gè) Kotlin 根節(jié)點(diǎn)指定一組支持平臺(tái)的選項(xiàng)。這些源集可以在意圖操作的幫助下在根節(jié)點(diǎn)級(jí)別進(jìn)行配置。

在實(shí)踐中,這意味著:

- 給定源集下的代碼只能訪問具有兼容平臺(tái)的聲明。例如,特定于 JVM 的代碼可能只訪問 JVM 特定代碼和針對(duì) JVM 的通用代碼。

- 生成的源在源集特定目錄下組織。如果未指定目錄,它將使用默認(rèn)源集,該集對(duì)應(yīng)于模塊的默認(rèn)值。

- expect 和 actual 聲明現(xiàn)已得到支持。

沒有顯式平臺(tái)的 Kotlin 代碼默認(rèn)使用 JVM,旨在保持向后兼容。

2、存根的加載和編譯

存根已經(jīng)得到改進(jìn),支持新的多平臺(tái)用例。過去,MPS 為 Kotlin 和 Kotlin/JVM 存根提供獨(dú)立選項(xiàng),分別加載通用存根和 JVM 存根。

這兩個(gè)選項(xiàng)現(xiàn)已統(tǒng)一在 Kotlin 存根下,可以自動(dòng)確定提供的工件是公開通用代碼、JVM 代碼還是其他平臺(tái)的代碼。

由于通用庫(kù)和平臺(tái)特定庫(kù)之間的聲明冗余(兩個(gè)工件都包含所有必要聲明),我們引入了一種新的重復(fù)篩選機(jī)制來保持存根整潔。在同一模塊下聲明時(shí),平臺(tái)特定庫(kù)可以訪問通用聲明,因此您不必再次聲明。

依賴項(xiàng)配置與以前相同:

- 通用庫(kù)和平臺(tái)特定庫(kù)均可用作存根。

- JVM 庫(kù)是將通用代碼編譯到 JVM 的必要條件,并且應(yīng)該在 Java facet 中聲明。

例如,編寫通用代碼要求您使用通用存根庫(kù)(使用通用源集),但您還必須在 Java facet 中聲明 Java 工件。

3、在沒有 CodeRules typesystem 的情況下提高的 Kotlin 可讀性

當(dāng)基于 CodeRules 的 Kotlin Typesystem 插件不可用時(shí),MPS 中的 Kotlin 代碼此前會(huì)引發(fā)大量 typesystem 和作用域錯(cuò)誤。為了提高可讀性和可測(cè)試性,當(dāng)基于 CodeRules 的 typesystem 插件不可用時(shí),這些檢查和錯(cuò)誤現(xiàn)在會(huì)被忽略。

在這種情況下,Kotlin 語言中的所有作用域都被替換為包括所有兼容概念節(jié)點(diǎn)的默認(rèn)作用域。由于所有有效節(jié)點(diǎn)都在作用域內(nèi),這會(huì)移除誤報(bào)錯(cuò)誤。

處理 Kotlin 代碼的準(zhǔn)則與以前相同:

- 編寫和檢查 Kotlin 代碼應(yīng)在啟用 CodeRules 和安裝 Kotlin Typesystem 插件的情況下完成。

- 即使沒有它們,也可以安全讀取和生成 Kotlin。

4、Logical View(邏輯視圖)窗格重新實(shí)現(xiàn)

Logical View(邏輯視圖)窗格現(xiàn)在基于異步架構(gòu),這有助于保持 UI 快速響應(yīng)和提高 IDE 的整體性能。新實(shí)現(xiàn)還簡(jiǎn)化了擴(kuò)展和修改。有關(guān)詳情,請(qǐng)參閱知識(shí)庫(kù)中題為 ProjectPane implementation on top of ProjectViewTree 的文章。

新實(shí)現(xiàn)帶來了一些顯著變化:

- 錯(cuò)誤和警告指示器不再可用。

- 層次結(jié)構(gòu)中發(fā)現(xiàn)的錯(cuò)誤和警告都以紅色下劃線標(biāo)出。

- Show Descriptor Models(顯示描述符模型)選項(xiàng)會(huì)影響所有描述符模型。

- 一些拖放操作的工作方式有所不同。

- Logical View(邏輯視圖)窗格中的設(shè)置已稍微重新組織。

5、占位符單元

我們?cè)?BaseLanguage 中引入了一種新樣式,這種新樣式使常量單元在存在缺失值(子節(jié)點(diǎn)或引用)時(shí)可以充當(dāng)占位符。例如,當(dāng)類中沒有構(gòu)造函數(shù)時(shí),可以顯示 <no default constructor> 占位符單元。該樣式使常量單元表現(xiàn)出您期望從此類占位符單元中得到的行為。光標(biāo)只能放在第一個(gè)位置,并且不能編輯值。只可以進(jìn)行附加轉(zhuǎn)換菜單提供的修改。

6、構(gòu)建語言的更改

構(gòu)建語言中模塊的布爾 doNotCompile 選項(xiàng)已被替換為 Java 枚舉,可以更好地區(qū)分以下情況:

- 模塊不包含任何代碼。

- 模塊包含代碼,但代碼是由 MPS 以外的工具編譯。

這兩種情況都曾以值 true 表示。

新的 Java 枚舉有三個(gè)可能的值:

- compile in MPS

- compile externally

- no code

遷移到 2024.1 時(shí),doNotCompile 的原始 false 值將遷移到 compile in MPS,而 doNotCompile 的 true 值將遷移到 compile externally。

7、生成方案中的條件復(fù)刻

一個(gè)小型實(shí)驗(yàn)性新功能,讓您能夠?yàn)樯煞桨柑砑訌?fù)刻,而無需實(shí)際修改正在復(fù)刻的原始方案。生成方案可以被標(biāo)記為另一個(gè)生成方案的復(fù)刻。標(biāo)記的方案將被視為顯式引用并在復(fù)刻的生成方案的最開始處插入了標(biāo)準(zhǔn) fork 語句。

此外,定義復(fù)刻時(shí),您可以使用字符串修飾符作為觸發(fā)器。只有當(dāng)生成的模型由具有生成目標(biāo) facet 且 facet ID 與字符串觸發(fā)器匹配的模塊擁有時(shí),才會(huì)發(fā)生復(fù)刻。

8、MPS 中的 JUnit5 XML 報(bào)告

MPS 中的 JUnit 測(cè)試現(xiàn)在不僅可以生成 Vintage 和 Jupiter 格式的測(cè)試報(bào)告,還可以生成 Open Test Reporting 格式的測(cè)試報(bào)告。構(gòu)建語言的測(cè)試選項(xiàng)中有一個(gè)新選項(xiàng),用于控制是否在生成的報(bào)告中包含 Open Test 報(bào)告。如果該選項(xiàng)設(shè)為 true,會(huì)在項(xiàng)目目錄中創(chuàng)建名為 junit-platform-events*-$BUILD_NAME$.xml 的報(bào)告文件。

如果該選項(xiàng)設(shè)為 false,將為 Vintage 和 Jupiter 引擎創(chuàng)建舊版報(bào)告。

9、傳播到測(cè)試報(bào)告的 JUnit5 注解 @DisplayName

MPS 測(cè)試報(bào)告現(xiàn)在會(huì)考量 JUnit @DisplayName 注解并將名稱傳播到測(cè)試報(bào)告工具窗口中顯示的報(bào)告。

10、試運(yùn)行時(shí)改進(jìn)

運(yùn)行節(jié)點(diǎn)或編輯器測(cè)試時(shí),MPS 過去會(huì)將整個(gè)測(cè)試模型復(fù)制到瞬態(tài)模型中,并為每個(gè)測(cè)試用例節(jié)點(diǎn)制作額外副本(從根 NodeTestCase 或 EditorTestCase 開始)。對(duì)于大型測(cè)試模型,這往往會(huì)明顯影響性能。它還會(huì)導(dǎo)致帶有重復(fù)測(cè)試節(jié)點(diǎn)的奇怪設(shè)置。在 MPS 2024.1 中,帶有測(cè)試的模型將不再被復(fù)制,只有 NodeTestCase 或 EditorTestCase 的 TestNode 子項(xiàng)及其各自環(huán)境節(jié)點(diǎn)(它們的引用的目標(biāo))會(huì)被復(fù)制。

11、TestInfo 中的項(xiàng)目路徑不再需要

對(duì)于需要打開 MPS 項(xiàng)目的測(cè)試,不再需要 TestInfo 聲明。這適用于執(zhí)行 JUnit 測(cè)試的所有方式:

- 如果測(cè)試是從 IDE 運(yùn)行,無論是在進(jìn)程內(nèi)還是進(jìn)程外,都將使用當(dāng)前打開的項(xiàng)目。

- 如果測(cè)試是使用 <launchtests> 任務(wù)運(yùn)行,則可以將 project path 指定為任務(wù)的額外項(xiàng)目路徑選項(xiàng)。如果未指定,將使用 ${basedir},它對(duì)應(yīng)于當(dāng)前項(xiàng)目的主目錄。

- 對(duì)于上述方式均無法使用的特殊情況,您可以通過 -Dmps.test.project.path 系統(tǒng)屬性指定項(xiàng)目位置。

12、模塊類加載的徹底重做

在將類加載與模型訪問和 ReloadableSModule 的棄用分離的過程中,我們改變了模塊的類加載的工作方式。雖然我們已經(jīng)盡力為最終用戶避免明顯更改,但更新可能導(dǎo)致以前不存在的類加載問題。

作為此次重做的一部分,MPS 現(xiàn)在繼續(xù)使用在 module.xml 中為部署的模塊聲明的依賴關(guān)系,而不會(huì)嘗試在啟動(dòng)時(shí)根據(jù)分散在模塊文件中的信息來計(jì)算。在設(shè)計(jì)階段,依賴關(guān)系派生自模型轉(zhuǎn)換階段收集的信息,并且在這里也不會(huì)重新計(jì)算。分析 .mpl 或 .msd 文件的模塊依賴項(xiàng)的舊邏輯仍然有效,以防新方法失敗。
這些更改是改進(jìn) Java 模塊 facet 以及模塊 facet 的長(zhǎng)期工作的一部分。

二、其他

1、十六進(jìn)制長(zhǎng)文字已引入 BaseLanguage。

2、當(dāng)項(xiàng)目需要遷移并且存在模塊/模型版本不兼容時(shí)(例如,如果模塊提到的語言版本與模型中提到的版本不同),將彈出通知窗口,顯示所有存在不兼容問題的模塊。這有助于合并遷移的代碼,因?yàn)槟梢源_保合并的狀態(tài)反映正確的語言和模塊版本。

3、Logical View(邏輯視圖)窗格中 devkit 下的模塊顯示為模塊引用節(jié)點(diǎn)。這類似于語言模塊下運(yùn)行時(shí)模塊的呈現(xiàn)方式。

三、大量 bug 修正

同樣,這個(gè)版本修正了許多 bug。這里列出了我們修正的所有問題。

四、平臺(tái)更新

1、新 UI 中的新終端 測(cè)試版

MPS 2024.1 推出了重做的終端,具有可視化和功能增強(qiáng),有助于簡(jiǎn)化命令行任務(wù)。此更新為既有工具帶來了全新的外觀,命令被分為不同的塊,擴(kuò)展的功能集包括塊間絲滑導(dǎo)航、命令補(bǔ)全和命令歷史記錄的輕松訪問等。在這篇博文中了解詳情。

2、用于縮小整個(gè) IDE 的選項(xiàng)

您現(xiàn)在可以將 IDE 縮小到 90%、80% 或 70%,從而可以靈活地調(diào)整 IDE 元素的大小。

3、Gradle 版本支持更新

從這個(gè)版本開始,MPS 不再支持使用低于 Gradle 版本 4.5 的項(xiàng)目,并且 IDE 不會(huì)對(duì)帶有不支持的 Gradle 版本的項(xiàng)目執(zhí)行 Gradle 同步。

五、大量 VCS 功能

1、在 Log(日志)標(biāo)簽頁中顯示審查分支更改的選項(xiàng)

MPS 2024.1 通過提供分支相關(guān)更改的集中視圖簡(jiǎn)化了代碼審查工作流。對(duì)于 GitHub、GitLab 和 Space,現(xiàn)在可以在 Git 工具窗口中的單獨(dú) Log(日志)標(biāo)簽頁中查看具體分支中的更改。為此,點(diǎn)擊 Pull Requests(拉取請(qǐng)求)工具窗口中的分支名稱,然后從菜單中選擇 Show in Git Log(在 Git 日志中顯示)。

2、對(duì)代碼審查評(píng)論回應(yīng)的支持

MPS 2024.1 開始支持對(duì) GitHub 拉取請(qǐng)求和 GitLab 合并請(qǐng)求的審查評(píng)論發(fā)表回應(yīng),已有一組表情符號(hào)可供選擇。

3、從推送通知?jiǎng)?chuàng)建拉取/合并請(qǐng)求

成功將更改推送到版本控制系統(tǒng)后,IDE 現(xiàn)在將發(fā)布一條通知,提醒您已成功推送并建議創(chuàng)建拉取/合并請(qǐng)求的操作。

4、待處理 GitHub 更新的可視化指示器

我們引入了可視化指示器來提示代碼審查工作流中待處理的更新。有需要您注意的更改時(shí),工具窗口的圖標(biāo)上會(huì)出現(xiàn)一個(gè)點(diǎn)。未查看的拉取請(qǐng)求也將用點(diǎn)標(biāo)記,確保您不會(huì)錯(cuò)過代碼審查流程中的更新。

5、防止大文件提交到倉(cāng)庫(kù)

為了幫助您避免由于文件過大而導(dǎo)致版本控制拒絕,IDE 現(xiàn)在包含預(yù)提交檢查,防止您提交此類文件并通知您該限制。

6、Git 工具窗口中 History(歷史記錄)標(biāo)簽頁的分支篩選器

在 Git 工具窗口中,Show all branches(顯示所有分支)按鈕已被替換為分支篩選器,允許您審查對(duì)指定分支內(nèi)的文件所做的更改。我們還調(diào)整了工具欄的方向,將其水平放置以提高實(shí)用性。

7、Branches(分支)彈出窗口中改進(jìn)的搜索

在 Branches(分支)彈出窗口中,您可以按操作和倉(cāng)庫(kù)篩選搜索結(jié)果,以在版本控制系統(tǒng)中更快、更精確地導(dǎo)航。

8、Allow unrelated histories(允許不相關(guān)的歷史記錄)合并選項(xiàng)

Merge into(合并到)對(duì)話框的下拉菜單中新增了 Allow unrelated histories(允許不相關(guān)的歷史記錄)選項(xiàng)。選擇后,該選項(xiàng)允許合并兩個(gè)分支,即使它們沒有共同的歷史記錄。

9、從比較中排除文件夾和文件的選項(xiàng)

在差異查看器中,您可以指定在比較中要忽略的文件夾和文件,從而僅關(guān)注有意義的更改。右鍵點(diǎn)擊您不想在比較結(jié)果中看到的文件或文件夾,然后從上下文菜單中選擇 Exclude from results(從結(jié)果中排除)。

為什么選擇JetBrains MPS?

1、領(lǐng)域?qū)S谜Z言

以一種直接使用您所在領(lǐng)域的概念和邏輯的語言表達(dá)您的特定領(lǐng)域的流程和知識(shí)。

2、投影編輯器

使用所在領(lǐng)域所有人都理解的術(shù)語進(jìn)行交流。將非文本符號(hào)與投影編輯結(jié)合使用,包括數(shù)學(xué)符號(hào)、圖表和表格。

3、編輯器支持

我們的智能編輯器可以通過快速修復(fù)、單詞補(bǔ)全和意圖來幫助和指導(dǎo)您完成整個(gè)過程。

軟件功能

1、Kotlin MVVM Generator

使用Kotlin為MVVM + Dagger + Rx生成活動(dòng)和片段的插件。

2、Rust

Rust語言支持。

3、Senya編輯

Senya編輯:快速有效地設(shè)計(jì)OpenAPI和Swagger規(guī)范。

4、自定義視圖制作工具

開發(fā)自定義視圖,而不必在每一步之后重建!

5、Perl的

Camelcade插件支持以下語言和框架。

6、ReasonML語言插件

Reason(和OCaml)語言插件。

7、IntelliJ API觀察器

開發(fā)該插件提供了“查找外部用法”操作,允許開發(fā)人員快速找到使用IntelliJ平臺(tái)類,方法或字段的插件,并檢查...

8、GitPrefix

易于'表情符號(hào)(或文本)前綴提交'。

9、Quokka

javascript的Quokka是編輯器中的快速原型操作平臺(tái),可以訪問項(xiàng)目的文件,內(nèi)聯(lián)報(bào)告,代碼覆蓋和豐富的輸出格式

JetBrains MPS Mac軟件特色

軟件特色

【發(fā)電機(jī)測(cè)試】

除了現(xiàn)有的節(jié)點(diǎn)和編輯器測(cè)試系列之外,我們還實(shí)現(xiàn)了一種測(cè)試生成器的新方法。目的是確保發(fā)電機(jī)或發(fā)電機(jī)組完成其工作。IDE支持進(jìn)程內(nèi)和進(jìn)程外執(zhí)行模式,以及MPS Ant構(gòu)建腳本的執(zhí)行。

【在生成計(jì)劃中分叉】

在生成計(jì)劃中有一個(gè)新的聲明:與 另一代人交叉計(jì)劃在給定點(diǎn)分支轉(zhuǎn)換序列。引用的計(jì)劃接收一個(gè)模型,它處于fork步驟中的狀態(tài),并作為常規(guī)轉(zhuǎn)換繼續(xù)進(jìn)行。在該示例中,首先,我們使用crossmodel.entity生成器轉(zhuǎn)換輸入模型并記錄狀態(tài),然后繼續(xù)使用crossmodel.property#prop2class生成器以最終獲得輸出模型#1。然后crossmodel.property#prop2xml生成器轉(zhuǎn)換記錄的模型以獲得輸出模型#2。請(qǐng)注意,'then'這里不是合同 - 沒有承諾分支以任何特定順序處理。

【在生成測(cè)試中分叉】

Generator測(cè)試使用fork語句支持生成計(jì)劃,并將所有輸出模型與提供的參考模型進(jìn)行匹配。

【新的VCS方面】

我們引入了一個(gè)新的VCS語言方面。現(xiàn)在,您可以為此創(chuàng)建語言方面,而不是在概念聲明上編寫注釋。方面生成為特定的運(yùn)行時(shí)代碼。VCS方面已替換MergeHints批注,并包含遷移。

【github插件】

github插件現(xiàn)已實(shí)現(xiàn)。您可以從VCS登錄 - >從版本控制中檢出 - > Git - >登錄到github ...

【遷移通知】

我們已經(jīng)實(shí)施了遷移通知,以便您就所發(fā)生的事情進(jìn)行更好的溝通:現(xiàn)在,如果項(xiàng)目依賴于無論出于何種原因無法加載的語言,或者何時(shí)推遲遷移,您將收到通知。

更新日志

v2024.1版本

MPS 2024.1 為 Project(項(xiàng)目)工具窗口中的 Logical View(邏輯視圖)窗格帶來了新的異步實(shí)現(xiàn),顯著改進(jìn)了對(duì)各種平臺(tái)的 Kotlin 支持,并大幅縮短了測(cè)試運(yùn)行時(shí)間。您還將發(fā)現(xiàn)生成方案中的條件復(fù)刻、TestInfo 中項(xiàng)目路徑的棄用、新 UI 改進(jìn)以及大量平臺(tái)更新。

收起介紹展開介紹

同廠商

JetBrains更多+
  • 下載地址
JetBrains MPS 2024(語言編程開發(fā)環(huán)境) v2024.1官方版

有問題? 點(diǎn)此報(bào)錯(cuò)

發(fā)表評(píng)論

1人參與,1條評(píng)論
第1樓廣東省深圳市電信網(wǎng)友發(fā)表于: 2020-04-18 08:21:36
感謝樓主,非常棒,找了幾天了,今天終于搞定了。
0蓋樓(回復(fù))