diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-13 06:11:36 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-13 06:11:36 +0000 |
| commit | 0753f3b303fdbc58ff27ecd7bae9fa41f6c970d4 (patch) | |
| tree | 915e60093402e9321d299ae7313faa819793c98e /plugin/README.md | |
| parent | 9ec4fbddd559d93b3d6b072dc8f56d2a572585bd (diff) | |
build(plugin): package VSIX and document installation
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Diffstat (limited to 'plugin/README.md')
| -rw-r--r-- | plugin/README.md | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/plugin/README.md b/plugin/README.md new file mode 100644 index 0000000..aa57cc8 --- /dev/null +++ b/plugin/README.md @@ -0,0 +1,57 @@ +# CIE Pseudocode + +用于本项目 `.cps` 文件的 VS Code 插件。需要 VS Code 1.85 或更新版本,仅适配深色主题,语法颜色跟随当前主题,参考 C++ 的配色分类。 + +## 安装 + +在 VS Code 的扩展面板点击右上角 `…` → **Install from VSIX…(从 VSIX 安装)**,选择 `cie-pseudocode-0.1.0.vsix`。 + +也可以在 VSIX 所在目录执行: + +```sh +code --install-extension cie-pseudocode-0.1.0.vsix +``` + +打开 `.cps` 文件后,右下角语言模式应显示 **CIE Pseudocode**。建议使用 **Dark+** 或其他深色主题。 + +## 使用 + +- **自动缩进**:默认每层一个真实 Tab,显示宽度为 4。块开始后回车自动缩进,输入完整的 `ELSE`、`ENDIF`、`NEXT` 等关键字时自动回退。 +- **整理选区**:选中代码,按 macOS 的 **⌘K,然后 ⌘F**;Windows/Linux 为 **Ctrl+K,然后 Ctrl+F**。也可以右键 → **Format Selection(格式化选区)**。只整理选中行的行首缩进,使用前文确定层级,保留其他文本和换行格式。空行整理后为空。 +- **括号**:圆括号和方括号按嵌套层级上色;落单左括号、落单右括号及类型错配立即变红,补齐后恢复。字符串、字符和注释中的括号不参与检查。 +- **高亮**:关键字、类型、布尔值、运算符、字符串、字符、数字、注释和 12 个内置函数使用对应的 C++ 风格配色分类。 + +缩进支持 IF/ELSE、WHILE、REPEAT、FOR、FUNCTION、PROCEDURE 和记录 TYPE;`THEN`、`DO` 可以单独成行。枚举和指针的单行 `TYPE ... = ...` 不增加缩进。 + +关键字必须大写;赋值使用 `<-`;注释使用 `//`;字符串及字符没有反斜杠转义。仅覆盖当前编译器已实现的语法,暂不支持 PDF 中的 CASE、类、SET、DATE 等未实现语法。 + +示例在 [examples/highlighting.cps](examples/highlighting.cps)。这是编辑辅助插件,编译与运行仍使用项目的 `cpsc` 命令。 + +如果用户或工作区设置覆盖了插件默认值,可在 VS Code 设置中确认: + +```json +"[cie-pseudocode]": { + "editor.insertSpaces": false, + "editor.tabSize": 4, + "editor.detectIndentation": false, + "editor.autoIndent": "full", + "editor.formatOnType": true, + "editor.defaultFormatter": "ovfor4.cie-pseudocode", + "editor.bracketPairColorization.enabled": true +} +``` + +## 开发与打包 + +在 `plugin/` 目录下执行,开发依赖需要 Node.js 22 或更新版本: + +```sh +npm ci --ignore-scripts +npm run check +npm test +npm run package +``` + +打包命令会先检查语法并运行简单测试,然后生成 `cie-pseudocode-0.1.0.vsix`。插件运行时没有 npm 依赖,不需要安装编译器或 cpptools。VSIX、依赖和测试产物不提交 Git。 + +语言配置、注释/字符串规则及配色 scope 改造自 [VS Code 内置 C++ 扩展](https://github.com/microsoft/vscode/tree/main/extensions/cpp),provider 注册方式参考 [cpptools](https://github.com/microsoft/vscode-cpptools)。本仓库的参考克隆位于 `reference/vscode-cpptools/`,原始 C++ 配置及 grammar 位于 `reference/vscode-cpp/`,均不纳入插件包。 |
