Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>基石语言(jishi)New to Visual Studio Code? Get it now.
基石语言(jishi)

基石语言(jishi)

基石语言

|
1 install
| (0) | Free
基石 —— 一门像 Python 一样简单易用的中文编程语言:语法高亮、代码片段、实时诊断、补全、格式化、重命名、快速修复、语义高亮
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

基石语言 · VS Code 扩展

为 基石(jishi)——中文编程语言——提供编辑器支持。

先装基石本体(扩展只负责编辑器那一层): pip install git+https://github.com/benxiaoniao/JISHI.git (发布到 PyPI 后即为 pip install jishi),装好用 jishi 医生 确认环境。 jishi 不在 PATH 上时,在设置里指明它——语言服务与调试共用这一项:

{ "jishi.server.command": "D:/jishi/jishi.exe" }

能力

语法层(扩展自带,不需要语言服务):

  • .jsh 文件语法高亮(关键字 / 字符串与插值文本 / 注释 / 数字 / 函数与类名 / 内建函数 / 标准库模块名 / 异常类型)
  • 常用结构代码片段(如果 / 遍历 / 遍历解包 / 匹配 / 用 / 函数 / 类 / 尝试 / 导入 / 插值文本 …,输前缀回车即出)
  • 中文标点成对补全(()``「」 等)、# 注释、缩进规则

语义层(由 jishi lsp 提供,M42 起接入):

能力 在编辑器里的样子
实时诊断 有错的地方画波浪线,中文报错 + 错误码
补全 关键字 / 内建 / 标准库模块与函数 / 本文件符号;随机. 之后给模块函数
悬停文档 鼠标停名字上,出中文说明与签名
跳转定义 F12;本文件找不到会去工作区别的文件里找一个唯一的同名符号
大纲 / 文档符号 Ctrl+Shift+O 按符号跳转
工作区符号 Ctrl+T 全工作区搜符号
格式化 Shift+Alt+F(与 jishi 格式化 同一份实现)
重命名 F2(详见下面的「已知边界」)
快速修复 报错处点灯泡:把 if 改成 如果、len 改成 长度…
签名提示 打 ( 时出形参表,并高亮当前是第几个实参
语义高亮 区分关键字 / 标准库 / 用户函数与变量(比纯语法高亮更准)

调试(由 jishi dap 提供,M43 起接入):

能力 在编辑器里的样子
断点 行号左边点一下;写在空行/注释行上会显示成灰圈并说明原因
单步 F10 下一步(不钻进函数)/ F11 单步(钻进去)/ Shift+F11 跳出
继续 / 暂停 F5 继续;运行中也可以「暂停」,会在下一条语句边界停下
变量 左侧「变量」面板,点调用栈的任意一帧看那一帧的变量(带中文类型名)
调用栈 左侧「调用栈」面板,显示到某一帧的完整链路
监视 / 悬停求值 「监视」面板加表达式;鼠标悬停也能求值(C 虚拟机除外,见下)
调试控制台 程序输出与调试器提示都在这里;output 事件按 stdout / console 分类着色

第一次按 F5 会自动生成 launch.json,选「基石调试」即可(program 不写就用 当前打开的文件;换执行器加 "执行器": "vm",可选 树遍历 / vm / cvm)。 右下角状态栏有「基石 LSP:就绪」,点它可以重启服务。

已知边界(不粉饰)

  • 重命名只支持模块级符号(函数 / 类 / 顶层变量 / 导入名)。 函数形参与函数内的局部变量不支持——AST 不记形参位置,而且没有作用域 分析就改名会把「另一个函数里同名的局部变量」一起改掉,那是在改坏用户的代码。 做不到的位置按 F2 时 VSCode 会直接说「无法重命名」,不会给一个错的编辑。
  • 跨文件跳转只在「唯一命中」时生效:同名符号出现在多个文件里就放弃跳转 (跳错地方比跳不过去更费时间)。
  • 工作区符号索引有封顶:最多 400 个 .jsh 文件、单文件 512KB,跳过 .jishi(第三方包缓存)与隐藏目录。真要做全项目数据库得上后台任务, 不该卡住编辑器。
  • 签名提示在「文档解析不了」时靠 token 兜底:从 函数 甲(…) 的 token 序列里读形参。所以未闭合括号时也能用(那正是最需要它的时候)。
  • 调试时的变量不展开:列表/字典显示成一行文本([1, 2, 3]),与命令行的 「变量」命令同一口径——不做「编辑器里能展开、命令行里不能」这种分裂。
  • C 虚拟机不支持在暂停处求值:那边没有「在任意帧上求一个表达式」的入口。 监视与悬停求值会明确回一句「暂不支持就地求值」并给出替代方案(改用 vm 执行器),而不是给个错值。断点、单步、看变量与调用栈照常可用。
  • 没有条件断点 / 命中计数 / 日志断点:命令行版也没有,这里不假装有 (能力声明里一律写 false,VSCode 就不会给用户画出没用的输入框)。
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft