使用VSCode开发IRIS
经过一段时间的学习和使用本文总结了一些使用VsCode开发的使用方法,本文偏向于应用但会对少量的我知晓的原理进行一部分解释。
参考教程链接:https://cn.community.intersystems.com/node/488611
VSCode下载:https://code.visualstudio.com/
- 使用VSCode开发的优劣:
1 优势:
- 跨平台(Windows|MAC|Linux)开发调试远程服务端代码,而且可以快速导出COS代码(M语言也可以)。
- SQL辅助查询数据
- 快捷的代码调试方式,一种是直接在VSCode中调试,另一种是快速复制类名和方法名在Terminal中调试。
- 代码智能联想补全,类似其它语言,输入开头的前几个字符可以联想后面的。
- 快速跳转到方法定义(ctrl+鼠标左键 | F12)
- 主题图标多样化,可以使用默认的黑色,当然也可以使用和studio一样的样式,链接:https://cn.community.intersystems.com/node/516996
2 劣势:
- 无法导入导出XML文件
- 缺少一些Studio的常用功能:
- SOAP向导
- Java网关
- DT转换拖拽编写
- BP流程拖拽编写
- 安装步骤
1官网安装Visual Studio Code编辑器
https://code.visualstudio.com/Download
安装直接下一步 - 下一步
2 汉化
如果安装为英文要切换为中文则可以通过Command Palette 中运行Configure Display Language,install another language, 选择中文,再根据提示安装相应的语言插件。
3 扩展安装
打开软件,侧边栏点击扩展按钮->搜索 "InterSystems" -> 安装扩展,如图所示:
前三个是IRIS官方推荐按安装的插件,其中InterSystems ObjectScript Extension Pack (集成好的InterSystems插件包),在此还推荐安装SQL Tools InterSystems IRIS(连接数据库插件,使用效果类似于SQLdbx)
4 配置
VSCode支持图形化的配置,但实测并不好用,而且容易保存失败,在此推荐使用settings.json
打开:设置 -> 扩展 -> InterSystems Server Manager -> settings.json
{
"intersystems.servers": {
"loc": {
"webServer": {
"scheme": "http",
"host": "127.0.0.1",
"port": 52773
},
"askForPassword": false,
"username": "Superuser",
"password":"SYS",
"description":"228"
},
},
"terminal.integrated.detectLocale": "on",
"intersystems.language-server.diagnostics.routines": true,
"editor.renderControlCharacters": false,
"editor.unicodeHighlight.ambiguousCharacters": false,
"git.autorefresh": false,
"git.autoRepositoryDetection": false,
"git.confirmEmptyCommits": false,
"git.confirmForcePush": false,
"git.confirmNoVerifyCommit": false,
"git.confirmSync": false,
"git.countBadge": "off",
"diffEditor.wordWrap": "on",
"editor.wordWrap": "on",
"workbench.colorTheme": "InterSystems Default Dark",
"workbench.editor.enablePreview": false,
"vsicons.dontShowNewVersionMessage": true,
"git.enableSmartCommit": true,
"explorer.confirmDelete": false,
"editor.fontSize": 13,
"objectscript.conn": {
"host": "127.0.0.1", // 连接数据库IP
"port": 57772, // 连接数据库端口
"username": "Superuser", // 用户名
"password": "SYS", // 密码
"ns": "BKlinik", // 命名空间
"active": true, // 是否开启
"https": true,
"server": "bklinik" // intersystems.servers中设置的数据库服务器名
},
"sqltools.connections": [
{
"namespace": "BKlinik",
"connectionMethod": "Server and Port",
"showSystem": false,
"previewLimit": 50,
"server": "localhost",
"port": 52773,
"askForPassword": false,
"driver": "InterSystems IRIS",
"name": "BKlinik",
"username": "Superuser",
"password": "SYS"
}
],
"intersystemsServerManager.credentialsProvider.deletePasswordOnSignout": "never",
}
这是我目前使用的:
intersystems.servers :指的是IRIS的服务器的设置,内部的服务器命名不可大写,相比较官方出具的设置,我增加了【"askForPassword": false, "password":"123456",】此处的增加是方便后面打开代码的时候不需要再输入密码。
5 打开代码
打开代码有两种方式:一种是直连代码打开,另一种是客户端方式连接,第一种相当于studio直接连着代码进行编辑,第二种是把代码下载到本地磁盘的对应目录进行编辑。第一种方式好处是完全无感的查看编辑代码,但是如果不小心删掉之后无法恢复。第二种方式删掉之后可以恢复,而且也可以用GIT等代码版本控制,但是如果多人同时编辑代码,可能会存在冲突覆盖的情况。
- 直连代码
Instersystems tools – All Servers – 【服务器名】– NameSpace – 命名空间
然后你就可以愉快的编辑代码了
- 客户端方式打开
- 首先,你得建立一个文件夹,如图:本文是在D://workspace建立的一个aaa文件
- 点击打开文件夹 – 选择对应文件
此时会出现一个IRIS的图标,ObjectScript,如图所示:
点击ObjectScript – Choose Server and Namespace – 选择对应的服务器
再选择你需要的命名空间 比如我这边选择的是【HSLIB】
选择你需要编辑的代码 - 右键 - 选择Export
输出的框里会显示导出详情,如下图所示:
等待导出完毕,回到代码编辑,你的代码会出现在src目录下,如图所示:
如果你了解过ZPM的话,你现在还可以在这边添加一个module.xml,方便你把这个代码导入到其它机器上,ZPM相关的知识可以去GitHub上看看,关键就两个命令 [zpm] [load -v 【路径】] 和一个文件的编写,特别好用的是导入发布订阅和查找表,导代码的话得保证你的代码一行都没有问题,如果你的代码在使用的时候跨命名空间做了一些操作的话ZPM也会报错。
如何配置GIT的话,可以通过命令行的方式在本地文件上配置,也可以在VSCode上处理,和其它代码的处理方式差不多。
如果你安装了【SQL Tools InterSystems IRIS】那么上述配置中的sqltools.connections就是你需要的连接配置,你可以尝试改成你自己的库,然后进行一些简单的SQL操作。当然个人还是推荐使用DBeaver,这个更好用。
总结
好了,以上就是如何进行VSCode开发的我的一些小分享,如果有纠正请联系!!!
非常棒的文章!
感谢
补充InterSystems使用VSCode开发的官方文档
Welcome to the VS Code InterSystems ObjectScript documentation - InterSystems ObjectScript for VS Code (intersystems-community.github.io)
感谢
可以通过下面网址直接打开SOAP 向导页:
{serverurl}/isc/studio/templates/%25ZEN.Template.AddInWizard.SOAPWizard.cls?Namespace={namespace}
比如:http://localhost:52779/isc/studio/templates/%25ZEN.Template.AddInWizard....
也可以在VSCode里添加用户自定义的快捷键:
"objectscript.conn": { "links": { "Portal Explorer": "${serverUrl}/csp/sys/exp/%25CSP.UI.Portal.ClassList.zen?$NAMESPACE=${ns}", "SOAP Wizard": "${serverUrl}/isc/studio/templates/%25ZEN.Template.AddInWizard.SOAPWizard.cls?$NAMESPACE=${ns}" }, }
参考文档:https://intersystems-community.github.io/vscode-objectscript/configuration/#server-actions-menu
另:BPL,DTL一般直接在浏览器中进行编辑,完全不需要VSCode。
学到了
社会网络
InterSystems 资源
登录或注册
登录或创建一个新帐户以继续
登录或注册
登录或创建一个新帐户以继续
登录或注册
登录或创建一个新帐户以继续