Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>SEBOL for Yokogawa CENTUM VPNew to Visual Studio Code? Get it now.
SEBOL for Yokogawa CENTUM VP

SEBOL for Yokogawa CENTUM VP

tristan

|
2 installs
| (0) | Free
Manual-traceable language support for Yokogawa CENTUM VP SEBOL: syntax, diagnostics, formatting, navigation, signatures, snippets, and workspace indexing.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

SEBOL Language Support for VS Code

面向横河电机(Yokogawa)CENTUM VP SEBOL 的离线语言支持扩展。

当前版本以仓库中的 SEBOL Reference (IM 33J05L20-01EN) 为主要事实来源。保留字、手册目录、4.6 节内置函数签名和语言限制由 scripts/extract-manual.ps1 提取并生成,避免高亮、补全和帮助文档分别维护不同词表。

本扩展使用 VS Code Language API 直接实现语言功能,不是独立 Language Server,也没有使用 LSP 协议。

功能

编辑与显示

  • 依据手册第 15 章生成的 197 个保留字高亮和补全
  • 字符串、转义字符、两种注释、十六进制数、运算符和续行符高亮
  • SEBOL 控制结构缩进、格式化和折叠
  • 经过手册文本样例校验的 Snippet
  • 功能块、变量、数组、函数、标签、宏和 generic name 文档符号

语言服务

  • 上下文补全:
    • 标签位置
    • subsystem communication data type 位置
    • 已知 block model 的数据项
    • 当前作用域变量、函数和宏
  • Hover:保留字、内置函数、系统常量和用户符号
  • 内置函数及用户函数 Signature Help
  • 当前文件和工作区索引中的定义、引用、重命名和工作区符号
  • Document Highlight、Selection Range 和用户函数 Call Hierarchy
  • Quick Fix:未闭合代码块、未定义标签、错误使用 subsystem data type
  • 命令:
    • SEBOL: Search Manual
    • SEBOL: Rebuild Workspace Index
    • SEBOL: Lookup Error Code(离线查询手册 13.3/13.4,共 737 项)

静态诊断

当前实现的诊断包括:

  • 未闭合字符串
  • 重复声明和重复标签
  • 使用保留字作为名称
  • 普通标识符前 8 字符冲突
  • Tag Name 前 16 字符冲突及与普通标识符的前 8 字符冲突
  • 把 uinteger、ulong、char4/8/16/32 错当成本地声明类型
  • char*n 长度、数组维度和常量下标 0
  • 控制结构闭合和结束类型不匹配
  • goto、error、errorsub 目标标签不存在
  • 511 字节语句限制
  • 行尾悬挂续行符
  • 第 16 章中可静态计算的程序、语句、函数、声明数量和 Generic Name 元素上限
  • 已建模内置函数的参数数量
  • semlock / semunlock 的简单配对

诊断均带稳定的 source 和 code,以便测试和 Quick Fix 使用。

安全和限制

本扩展不会:

  • 执行 SEBOL/CENTUM 工程代码
  • 连接或写入 FCS/HIS
  • 下载、运行或在线调试 SFC
  • 替代目标 CENTUM 版本的真实编译器

以下能力因缺少外部接口而保留,当前未实现:

  • 官方 SEBOL 编译器调用
  • 工程数据库中的真实 Tag/Block 实例校验
  • FCS/HIS 在线数据和调试
  • 下载及运行控制

静态分析仍不是官方编译器。涉及程序下载和现场运行时,必须以目标系统编译结果、工程规范和安全审查为准。

手册搜索

SEBOL: Search Manual 使用生成的章节目录。当所选 XML 手册文件存在于当前工作区时,命令会打开该文件;扩展本身不重新打包完整受版权保护的手册。

配置

{
  "sebol.diagnostics.debounceMs": 200,
  "sebol.workspaceSymbols.maxResults": 1000
}

开发

需要 Node.js 和 PowerShell。

cd sebol
npm install
npm run generate:manual
npm run generate:assets
npm run check
npm run test:unit
# 安装依赖后可运行 VS Code Extension Host 冒烟测试
npm run test:extension
npm run package

生成流程:

  1. extract-manual.ps1 从本地手册提取保留字、内置函数签名、目录和限制。
  2. generate-assets.js 从结构化数据生成 TextMate Grammar。
  3. check-project.js 校验 JavaScript、JSON 和生成数据。
  4. 单元测试覆盖词表、Parser、诊断、格式化、Grammar 和 Snippet。
  5. test:extension 在安装 @vscode/test-electron 后启动隔离的 VS Code Extension Host 做 Provider 冒烟测试。

项目结构

src/
  extension.js           VS Code Provider 和生命周期
  document-store.js      按文档版本缓存解析结果
  workspace-index.js     增量工作区符号索引
  core/
    text.js              字符串/注释扫描、逻辑语句和字节计算
    parser.js            容错语法模型、符号和作用域
    diagnostics.js       手册规则诊断
    format.js            格式化和折叠
  data/
    spec.js              统一语言知识入口
    generated/           从手册生成的数据
scripts/
test/

版本

当前版本:0.5.0。详细变更见 CHANGELOG.md。

License

MIT。手册和 Yokogawa/CENTUM 商标的权利归其各自权利人所有。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft