经过一段时间的学习和使用本文总结了一些使用VsCode开发的使用方法,本文偏向于应用但会对少量的我知晓的原理进行一部分解释。
参考教程链接:https://cn.community.intersystems.com/node/488611
VSCode下载:https://code.visualstudio.com/
1 优势:
2 劣势:
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
{
<span class="hljs-string">"intersystems.servers"</span>: {
<span class="hljs-string">"loc"</span>: {
<span class="hljs-string">"webServer"</span>: {
<span class="hljs-string">"scheme"</span>: <span class="hljs-string">"http"</span>,
<span class="hljs-string">"host"</span>: <span class="hljs-string">"127.0.0.1"</span>,
<span class="hljs-string">"port"</span>: <span class="hljs-number">52773</span>
},
<span class="hljs-string">"askForPassword"</span>: false,
<span class="hljs-string">"username"</span>: <span class="hljs-string">"Superuser"</span>,
<span class="hljs-string">"password"</span>:<span class="hljs-string">"SYS"</span>,
<span class="hljs-string">"description"</span>:<span class="hljs-string">"228"</span>
},
},
<span class="hljs-string">"terminal.integrated.detectLocale"</span>: <span class="hljs-string">"on"</span>,
<span class="hljs-string">"intersystems.language-server.diagnostics.routines"</span>: true,
<span class="hljs-string">"editor.renderControlCharacters"</span>: false,
<span class="hljs-string">"editor.unicodeHighlight.ambiguousCharacters"</span>: false,
<span class="hljs-string">"git.autorefresh"</span>: false,
<span class="hljs-string">"git.autoRepositoryDetection"</span>: false,
<span class="hljs-string">"git.confirmEmptyCommits"</span>: false,
<span class="hljs-string">"git.confirmForcePush"</span>: false,
<span class="hljs-string">"git.confirmNoVerifyCommit"</span>: false,
<span class="hljs-string">"git.confirmSync"</span>: false,
<span class="hljs-string">"git.countBadge"</span>: <span class="hljs-string">"off"</span>,
<span class="hljs-string">"diffEditor.wordWrap"</span>: <span class="hljs-string">"on"</span>,
<span class="hljs-string">"editor.wordWrap"</span>: <span class="hljs-string">"on"</span>,
<span class="hljs-string">"workbench.colorTheme"</span>: <span class="hljs-string">"InterSystems Default Dark"</span>,
<span class="hljs-string">"workbench.editor.enablePreview"</span>: false,
<span class="hljs-string">"vsicons.dontShowNewVersionMessage"</span>: true,
<span class="hljs-string">"git.enableSmartCommit"</span>: true,
<span class="hljs-string">"explorer.confirmDelete"</span>: false,
<span class="hljs-string">"editor.fontSize"</span>: <span class="hljs-number">13</span>,
<span class="hljs-string">"objectscript.conn"</span>: {
<span class="hljs-string">"host"</span>: <span class="hljs-string">"127.0.0.1"</span>, <span class="hljs-comment">// 连接数据库IP</span>
<span class="hljs-string">"port"</span>: <span class="hljs-number">57772</span>, <span class="hljs-comment">// 连接数据库端口</span>
<span class="hljs-string">"username"</span>: <span class="hljs-string">"Superuser"</span>, <span class="hljs-comment">// 用户名</span>
<span class="hljs-string">"password"</span>: <span class="hljs-string">"SYS"</span>, <span class="hljs-comment">// 密码</span>
<span class="hljs-string">"ns"</span>: <span class="hljs-string">"BKlinik"</span>, <span class="hljs-comment">// 命名空间</span>
<span class="hljs-string">"active"</span>: true, <span class="hljs-comment">// 是否开启</span>
<span class="hljs-string">"https"</span>: true,
<span class="hljs-string">"server"</span>: <span class="hljs-string">"bklinik"</span> <span class="hljs-comment">// intersystems.servers中设置的数据库服务器名</span>
},
<span class="hljs-string">"sqltools.connections"</span>: [
{
<span class="hljs-string">"namespace"</span>: <span class="hljs-string">"BKlinik"</span>,
<span class="hljs-string">"connectionMethod"</span>: <span class="hljs-string">"Server and Port"</span>,
<span class="hljs-string">"showSystem"</span>: false,
<span class="hljs-string">"previewLimit"</span>: <span class="hljs-number">50</span>,
<span class="hljs-string">"server"</span>: <span class="hljs-string">"localhost"</span>,
<span class="hljs-string">"port"</span>: <span class="hljs-number">52773</span>,
<span class="hljs-string">"askForPassword"</span>: false,
<span class="hljs-string">"driver"</span>: <span class="hljs-string">"InterSystems IRIS"</span>,
<span class="hljs-string">"name"</span>: <span class="hljs-string">"BKlinik"</span>,
<span class="hljs-string">"username"</span>: <span class="hljs-string">"Superuser"</span>,
<span class="hljs-string">"password"</span>: <span class="hljs-string">"SYS"</span>
}
],
<span class="hljs-string">"intersystemsServerManager.credentialsProvider.deletePasswordOnSignout"</span>: <span class="hljs-string">"never"</span>,
}
这是我目前使用的:
intersystems.servers :指的是IRIS的服务器的设置,内部的服务器命名不可大写,相比较官方出具的设置,我增加了【"askForPassword": false, "password":"123456",】此处的增加是方便后面打开代码的时候不需要再输入密码。
5 打开代码
打开代码有两种方式:一种是直连代码打开,另一种是客户端方式连接,第一种相当于studio直接连着代码进行编辑,第二种是把代码下载到本地磁盘的对应目录进行编辑。第一种方式好处是完全无感的查看编辑代码,但是如果不小心删掉之后无法恢复。第二种方式删掉之后可以恢复,而且也可以用GIT等代码版本控制,但是如果多人同时编辑代码,可能会存在冲突覆盖的情况。
Instersystems tools – All Servers – 【服务器名】– NameSpace – 命名空间
然后你就可以愉快的编辑代码了
此时会出现一个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开发的我的一些小分享,如果有纠正请联系!!!