正在检查三丰云命令注册与 package.json 的配置,并改进命令在免费云服务器命令面板中的可发现性(分类、中文标题、onCommand 激活)。

正在改进:降低 engines 要求(避免 Cursor 因版本不匹配禁用扩展)、为命令添加 category 与更易搜索的中文标题、并为每个命令添加 onCommand 激活事件;在编辑器标题栏添加快捷入口。

“name”: “sec-inc-sc-gb2312”,
“displayName”: “SEC/INC/SC 编码选择”,
“description”: “为 .sec/.inc/.sc 默认以 GB2312 打开与保存,避免二进制提示;可按文件夹记忆 UTF-8;可选打开时询问。”,
“version”: “0.5.0”,
命令面板里搜不到,常见原因有三类:扩展其实没在当前窗口生效、搜的关键词和展示标题不一致、引擎版本要求过严被 Cursor 禁用。我已改好 0.5.1(请重新 npm run compile 并从文件夹重装或重载窗口)。

{
  "name": "sec-inc-sc-gb2312",
  "displayName": "极语言 SEC/INC/SC 编码",
  "description": "为 .sec/.inc/.sc 默认 GB2312;文件夹记忆 UTF-8;极语言关键字语法高亮(依据 sec.htm / msapi.htm)。",
  "version": "0.6.0",
  "publisher": "local",
  "engines": {
    "vscode": "^1.74.0"
  },
  "categories": ["Other"],
  "keywords": ["encoding", "gb2312", "utf8", "sec", "inc", "sc", "极语言"],
  "activationEvents": [
    "onStartupFinished",
    "onLanguage:sec",
    "onLanguage:inc",
    "onLanguage:sc",
    "onCommand:secEncoding.chooseEncodingForActiveFile",
    "onCommand:secEncoding.reopenWithPolicyEncoding",
    "onCommand:secEncoding.forgetChoices",
    "onCommand:secEncoding.forgetFolderChoice"
  ],
  "main": "./out/extension.js",
  "contributes": {
    "languages": [
      {
        "id": "sec",
        "aliases": ["SEC"],
        "extensions": [".sec"]
      },
      {
        "id": "inc",
        "aliases": ["INC"],
        "extensions": [".inc"]
      },
      {
        "id": "sc",
        "aliases": ["SC"],
        "extensions": [".sc"]
      }
    ],
    "grammars": [
      {
        "language": "sec",
        "scopeName": "source.jiyu",
        "path": "./syntaxes/jiyu.tmLanguage.json"
      },
      {
        "language": "inc",
        "scopeName": "source.jiyu",
        "path": "./syntaxes/jiyu.tmLanguage.json"
      },
      {
        "language": "sc",
        "scopeName": "source.jiyu",
        "path": "./syntaxes/jiyu.tmLanguage.json"
      }
    ],
    "configurationDefaults": {
      "[sec]": {
        "files.encoding": "gb2312"
      },
      "[inc]": {
        "files.encoding": "gb2312"
      },
      "[sc]": {
        "files.encoding": "gb2312"
      }
    },
    "configuration": {
      "title": "SEC/INC/SC 编码",
      "properties": {
        "secEncoding.defaultEncoding": {
          "type": "string",
          "enum": ["gb2312", "utf8"],
          "default": "gb2312",
          "description": "无文件夹记忆且未开启「打开时询问」时使用的编码。"
        },
        "secEncoding.askOnOpen": {
          "type": "boolean",
          "default": false,
          "description": "为 true 时:该文件夹尚无记忆则弹出 GB2312/UTF-8 选择;为 false 时:直接使用记忆或默认编码打开(推荐,可避免先按 UTF-8 误判为二进制)。"
        },
        "secEncoding.rememberChoicePerFolder": {
          "type": "boolean",
          "default": true,
          "description": "按文件所在文件夹记住编码(与「打开时询问」配合使用;关闭询问时仍可按文件夹覆盖默认编码)。"
        }
      }
    },
    "commands": [
      {
        "command": "secEncoding.reopenWithPolicyEncoding",
        "title": "用默认或记忆编码重新打开",
        "category": "SEC文件编码"
      },
      {
        "command": "secEncoding.chooseEncodingForActiveFile",
        "title": "重新选择 GB2312 或 UTF-8",
        "category": "SEC文件编码"
      },
      {
        "command": "secEncoding.forgetFolderChoice",
        "title": "清除当前文件夹编码记忆",
        "category": "SEC文件编码"
      },
      {
        "command": "secEncoding.forgetChoices",
        "title": "清除全部文件夹编码记忆",
        "category": "SEC文件编码"
      }
    ],
    "menus": {
      "editor/title": [
        {
          "command": "secEncoding.reopenWithPolicyEncoding",
          "group": "navigation@100",
          "when": "resourceExtname == .sec || resourceExtname == .inc || resourceExtname == .sc"
        }
      ],
      "editor/context": [
        {
          "command": "secEncoding.reopenWithPolicyEncoding",
          "group": "navigation@100",
          "when": "resourceExtname == .sec || resourceExtname == .inc || resourceExtname == .sc"
        },
        {
          "command": "secEncoding.chooseEncodingForActiveFile",
          "group": "navigation@101",
          "when": "resourceExtname == .sec || resourceExtname == .inc || resourceExtname == .sc"
        }
      ]
    }
  },
  "scripts": {
    "vscode:prepublish": "npm run compile",
    "compile": "tsc -p ./",
    "watch": "tsc -watch -p ./"
  },
  "devDependencies": {
    "@types/node": "^20.14.0",
    "@types/vscode": "^1.90.0",
    "typescript": "^5.5.0"
  }
}

  1. 现在该怎么搜
    命令已改成带 分类 SEC文件编码,在命令面板里会显示成:

SEC文件编码: 用默认或记忆编码重新打开
SEC文件编码: 重新选择 GB2312 或 UTF-8
以及两条「清除…记忆」
请 Ctrl+Shift+P 后输入下面任意一种(不要只输 SEC/INC/SC:):

SEC文件编码
重新打开(配合「用默认或记忆编码重新打开」)
GB2312(配合「重新选择 GB2312 或 UTF-8」)
secEncoding(命令 ID 前缀,有时也能搜到)
2. 不打开命令面板也能用
打开 .sec / .inc / .sc 后:

编辑器标题栏右侧(和运行、拆分同一排)会多出一个命令入口(「用默认或记忆编码重新打开」)。
在编辑区右键,上下文菜单里也有同一组命令。
3. 若仍然完全没有这些命令
请逐项确认:

扩展里找到 「极语言 SEC/INC/SC 编码」(local.sec-inc-sc-gb2312),必须是 已启用,不是仅克隆了仓库未安装。
本仓库已执行 npm run compile,且存在 out/extension.js,再用 从文件夹安装扩展 指向该仓库根目录。
装好后执行 「Developer: Reload Window」 重载窗口。
在 扩展里点该扩展 → Runtime Status,看是否有 Activation error(若有,把报错发出来)。
4. 本次为「能搜到、能激活」做的修改
将 engines.vscode 从 ^1.90.0 放宽为 ^1.74.0,避免 Cursor 因版本判定禁用扩展。
为每个命令增加了 onCommand:… 的 activationEvents,保证从命令面板执行时一定会激活扩展。
使用 category + 中文标题,便于用中文关键词搜索。
增加 标题栏 / 右键菜单 入口,减少对命令面板的依赖。
按上面步骤用 「SEC文件编码」 或 右键 试一次即可。若 Runtime Status 里有报错,把完整错误贴出来我可以对症改。

更多推荐