Citect Cicode VS Code Extension
用于 VS Code 的 Citect Cicode 语法高亮与格式化扩展。
功能
.ci 文件识别与语法高亮
- 文件列表与过滤:侧边栏提供 “Cicode 文件” 视图仅列出指定后缀文件;并提供命令一键切换 Explorer 仅显示指定后缀文件
- 代码片段(Snippets):提供
ci.if/ci.ife/ci.fori/ci.while/ci.whilet/ci.select/ci.func/ci.funcfull 等常用模板(降低与自动补全冲突)
- 格式化:Tab 缩进 + 一行一语句(按
; 拆分)
- 注释保留:
//、!、/* ... */
- 字符串高亮:双引号字符串,字符串内双引号使用
"" 表示;反斜杠不作为通用转义(兼容 Windows 路径末尾 \)
- 支持从本地离线帮助自动提取保留关键字与系统函数,用于高亮
语法高亮来源
- 保留关键字:来自离线帮助的
Cicode_keywords.html
- 系统函数:扫描离线帮助内容页中的函数名(
pFunctionName)
离线帮助目录默认约定为(项目根目录下):
Citect SCADA/Subsystems/CicodeReferenceCitectHTML/Content
安装
- 克隆或复制本扩展到本地目录
- 执行
npm install
- 执行
npm run compile
使用
- 在 VS Code 中打开
.ci 文件
- 语言会被识别为
Cicode
- 使用
Format Document / Alt+Shift+F 格式化
- 输入代码片段触发词(如
ci.funcfull、ci.whilet、ci.select)并按 Tab 展开模板
- 只想专注查看指定后缀文件时:
- 在资源管理器中查看 “Cicode 文件” 视图(仅列出
cicode.explorer.extensions 配置的后缀,默认 .ci)
- 打开命令面板(
Ctrl+Shift+P):
- 执行:
Cicode: 仅显示指定后缀文件(切换 Explorer):切换默认资源管理器过滤/恢复
- 执行:
Cicode: 刷新 Cicode 文件视图:刷新侧边栏的 “Cicode 文件” 列表
Citect Cicode(VS Code 扩展)
用于 VS Code 的 Citect Cicode 语法高亮与格式化扩展。
主要解决citect cicode 打开文件慢,没有代码折叠,代码分析和查找不方便的问题。
功能
.ci 文件识别与语法高亮
- 文件列表与过滤:侧边栏提供 “Cicode 文件” 视图仅列出指定后缀文件;并提供命令一键切换 Explorer 仅显示指定后缀文件
- 代码片段(Snippets):提供
ci.if/ci.ife/ci.fori/ci.while/ci.whilet/ci.select/ci.func/ci.funcfull 等常用模板(降低与自动补全冲突)
- 格式化:Tab 缩进 + 一行一语句(按
; 拆分)
- 注释保留:
//、!、/* ... */
- 字符串高亮:双引号字符串,字符串内双引号使用
"" 表示;反斜杠不作为通用转义(兼容 Windows 路径末尾 \)
- 支持从本地离线帮助自动提取保留关键字与系统函数,用于高亮
安装
- 方式 1:从 VSIX 安装
- 从
releases/ 下载最新 .vsix
- VS Code 命令面板执行:
Extensions: Install from VSIX...
- 选择下载的
.vsix,重载窗口
使用
- 打开
.ci 文件(语言会识别为 Cicode)
- 需要格式化时使用:
Format Document / Alt+Shift+F
- 输入代码片段触发词并按
Tab 展开模板(详情见 docs/snippets.md)
- 只想专注查看指定后缀文件时:
- 在资源管理器中查看 “Cicode 文件” 视图(默认仅列出
.ci)
- 打开命令面板(
Ctrl+Shift+P):
- 执行:
Cicode: 仅显示指定后缀文件(切换 Explorer):切换默认资源管理器过滤/恢复
- 执行:
Cicode: 刷新 Cicode 文件视图:刷新侧边栏的 “Cicode 文件” 列表
格式化规则
- 规则说明见:
docs/formatting-rules.md
公共发布仓库(仅文档与安装包)
目标:源码仓库保持私有;对外仅公开“安装/使用相关内容”(README.md、releases/*.vsix)。
- 私有仓库:开发与构建(本仓库)
- 公共仓库:仅存放文档与 VSIX(建议单独建一个 public repo)
一次性准备
- 在 Gitee 创建公共仓库(例如:
cicode-vscode-release)
- 将公共仓库 clone 到本机目录:
E:\develop\develop 2022\cicode-vscode-release
- 若该目录为空也可直接执行发布脚本,脚本会自动
git init 并设置 origin 为:
https://gitee.com/szwanghs/cicode-vscode-release
发布(推荐)
在本项目根目录执行 PowerShell 脚本:
.\scripts\publish-release-repo.ps1
可选参数:
.\scripts\publish-release-repo.ps1 -Message "release: update docs+vsix"
.\scripts\publish-release-repo.ps1 -DryRun
.\scripts\publish-release-repo.ps1 -NoBuild
.\scripts\publish-release-repo.ps1 -NoCommit
说明:
- 脚本会将“对外版 README(由本仓库 README 中的
RELEASE-README 区块生成)”与打包生成的 releases/<name>-<version>.vsix 同步到公共仓库目录并在公共仓库提交
- 公共仓库不会包含
src/ 等源码目录
- 如需推送到 Gitee:进入
E:\develop\develop 2022\cicode-vscode-release 执行 git push
格式化规则
规则说明见:./docs/formatting-rules.md
安装到 VS Code(本地)
方式 1:使用 VS Code 扩展调试(推荐)
- 用 VS Code 打开本项目
- 执行
npm install、npm run compile
- 按
F5 启动 “Extension Development Host”
- 在新窗口中打开任意
.ci 文件测试语法高亮与格式化
方式 2:打包为 VSIX 安装
- 安装打包工具:
npm i -g @vscode/vsce
- 打包:
vsce package
- 在 VS Code 中打开命令面板:
Extensions: Install from VSIX... 并选择生成的 .vsix
发布给其他人使用
在 VS Code 中测试(建议流程)
- 高亮测试:打开
examples/*.ci,检查关键字/系统函数/注释(!/////* */)是否正确着色
- 格式化测试:在
.ci 文件里执行 Format Document(Alt+Shift+F),并重点验证:
- 行尾注释不换行
, 后只有一个空格;操作符两侧一个空格
- 函数定义头拆成多行(作用域/返回类型/FUNCTION/名称)
- 参数续行从第 2 行开始按
( 对齐并 +1 Tab
常用命令
- 编译:
npm run compile
- 扫描 examples 并展示差异摘要:
npm test
- 校验格式化输出是否满足基础规范:
npm run validate:examples
- 从离线帮助生成语法高亮:
npm run generate:syntaxes
- 校验语法高亮是否已同步提交:
npm run check:syntaxes
示例
FUNCTION MyFunction()
IF ReadTag("TankLevel") > 90 THEN
Message("Tank level is high");
ELSE
Message("Tank level is normal");
END
END
| |