文章
· 十一月 17, 2022 阅读大约需 5 分钟

使用VSCode开发IRIS

       经过一段时间的学习和使用本文总结了一些使用VsCode开发的使用方法,本文偏向于应用但会对少量的我知晓的原理进行一部分解释。

参考教程链接:https://cn.community.intersystems.com/node/488611

VSCode下载:https://code.visualstudio.com/

 

  • 使用VSCode开发的优劣:

1 优势:

  1. 跨平台(Windows|MAC|Linux)开发调试远程服务端代码,而且可以快速导出COS代码(M语言也可以)。
  2. SQL辅助查询数据
  3. 快捷的代码调试方式,一种是直接在VSCode中调试,另一种是快速复制类名和方法名在Terminal中调试。
  4. 代码智能联想补全,类似其它语言,输入开头的前几个字符可以联想后面的。
  5. 快速跳转到方法定义(ctrl+鼠标左键 | F12)
  6. 主题图标多样化,可以使用默认的黑色,当然也可以使用和studio一样的样式,链接:https://cn.community.intersystems.com/node/516996

2 劣势:

  1. 无法导入导出XML文件
  2. 缺少一些Studio的常用功能:
    1. SOAP向导
    2. Java网关
    3. DT转换拖拽编写
    4. 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等代码版本控制,但是如果多人同时编辑代码,可能会存在冲突覆盖的情况。

  1. 直连代码

Instersystems tools All Servers 【服务器名】 NameSpace 命名空间

然后你就可以愉快的编辑代码了

  1. 客户端方式打开
  1. 首先,你得建立一个文件夹,如图:本文是在D://workspace建立的一个aaa文件

  1. 点击打开文件夹 选择对应文件

此时会出现一个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开发的我的一些小分享,如果有纠正请联系!!!

讨论 (6)4
登录或注册以继续

可以通过下面网址直接打开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。