TLDR;有個VSCode 擴展了解 JMP。 或者在 VSCode 擴展中,您可以只搜索 JMP,在本出版物中,它是唯一出現的東西。
你好 JMP 世界,
您是否發現自己希望 JSL 腳本環境模仿更多的 IDE?好吧,如果你還沒有簽出視覺工作室代碼,我想說現在是研究它的好時機,因為我們,在預測,一直在為它編寫一個擴展,讓 VSCode 理解(某種)JSL。
首先,我將介紹 VSCode 的一些本機功能,這些功能我非常喜歡,一開始就想這樣做。
- 工作區特定配置- 你可以用代碼打開一個文件夾,它會記住它是一個工作區,所以你可以按Ctrl+R從一個項目切換到另一個項目。
- 內置 Git - 它自動擁有您通常想要的所有 git 功能。 對於它沒有的東西,可能有人為它寫了一個擴展。 這讓我們...
- 可擴展性——有大量的擴展可以做各種各樣的事情,不同的語言、SQL 工具、雲(AWS、Azure)集成、GitLab/GitHub,你懂的。
- 它很輕。
我們喜歡所有這些東西,所以我們決定讓它理解 JSL。 顯然,你需要一份JMP讓所有功能正常工作,但你在這裡,所以我覺得這是一個安全的假設。
你得到什麼
我們有:
1.語法高亮- 我們需要的最明顯的東西
2.將鼠標懸停在描述上

這些是從 JMP 的腳本索引中提取的(如果您有的話)。 因此,如果您使用 NewCustomFunction(),它也會從其他插件中提取函數。
3.有用的片段

此示例中的函數片段還附帶自然文檔語法,因為所有函數都具有良好的文檔更好。 我們確實發現,自從製作了這個插件以來,我們的文檔已經好很多了。
4.運行 JSL
您可以按 Shift+Enter 來運行您選擇的文本,或者如果沒有選擇任何內容,則可以運行整個文件。 或者,您可以按 Alt+Enter 僅運行您所在的單行。 我們使用 VSCode 標準而不是 Ctrl+R 來運行,因為感覺它與其他擴展一起運行得更好。 Ctrl+R 也已經被佔用了。 但別擔心,VSCode 允許您編輯幾乎所有內容,因此您可以將任何內容設置為您喜歡的任何鍵綁定。 它會稍微凍結你當前的 JMP 實例,但如果你按下“關閉 VSCode 服務器”按鈕,你應該會再次好起來的。

5.語法錯誤報告(最近添加)

我喜歡這個,因為它會查看您打開的所有文件,如果其中任何一個文件不好,就會給它們一個大的紅色標題。 因此,如果您有一些嵌套的 include(),則不必搜索實際上是哪個文件存在問題。 不能說這最終感覺有多有用。
6.符號大綱

這可能是我個人最常用的功能。 VSCode 知道您何時創建了函數、類、方法、變量等,並將為您提供當前文件的大綱。 這很棒,因為如果文件太大,您可以瀏覽大綱以查找您想要的內容。 或者您可以直接按 Ctrl+O 並鍵入變量,它會找到它。 這比 Ctrl+F 更好的主要原因是它只會找到您分配它的位置。 不是當你調用它,或者在不同的函數中使用相同的名字時(它發生了)。 同樣,您可以完全控制大綱中所需的變量類型。 沒有功能? 沒問題。
涼爽的。 你被賣了。 怎麼辦?
- 下載 VSCode(如果你還沒有)
- 轉到擴展程序(默認為 Ctrl+Shift+X)
- 搜索“JMP”,您應該會看到類似

- 按安裝。 完畢。
我們正在積極努力,但更新有點慢。 如果您有任何問題,請隨時記錄他們在回購中。 作為一個無恥的插件,如果你知道 TypeScript(或者只是想學習它)並且有興趣做出貢獻,我們很樂意提供幫助。 它是開源的。 只是我自己和@ben_ph在我們的業餘時間工作,最近只是 Ben。
新年快樂! 0.10.0 的 VSCode 擴展已經發布,我們添加了幾個新功能。
亮點包括:
- 自動補全
- 腳本索引中函數和消息的全局完成
- 工作文件中定義的變量的範圍感知完成
- 轉到定義
- Ctrl/Cmd + 單擊一個變量並轉到定義該變量的位置
- 文檔格式
- 根據您的 JMP 格式偏好設置整個文檔的格式
- 請注意,這需要到 JMP 的有效連接
查看更新的自述文件更多細節。
享受!
@Ryan_Gilmore我們正在整合的下一個版本將具有一系列很酷的功能。本正在推出一個預發布今天那將擁有它。
我在以前的職位上使用了 Visual Studio Code。 這篇博文啟發了我嘗試 JSL 擴展。 非常令人印象深刻!
@vince_faller ,是否有格式化代碼的選項?