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 ,是否有格式化代码的选项?