You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code如何创建字符串本地化宏?自定义Code Action实现需求咨询

在VS Code中实现字符串本地化自定义宏方案

完全可以实现你的需求,不需要复杂的Code Action,用VS Code的宏扩展+自定义命令就能搞定,具体步骤如下:

1. 安装必要扩展

  • 安装 geddski.macros 扩展,用来组合多步骤命令;
  • 可选安装 multi-command 扩展,处理复杂逻辑更灵活。

2. 配置宏逻辑(settings.json)

打开settings.json(快捷键Ctrl+,后点击右上角打开JSON),添加以下宏定义,对应你的三个需求:

"macros": {
  "localizeSelectedString": [
    // 1. 弹出输入框获取本地化键名
    {
      "command": "inputBox",
      "args": {
        "prompt": "输入本地化键名",
        "value": "",
        "then": [
          // 2. 在指定本地化文件写入键值对
          {
            "command": "workbench.action.files.openFile",
            "args": "/path/to/your/localization/file.js" // 替换为你的目标文件路径
          },
          {
            "command": "editor.action.insertSnippet",
            "args": {
              "snippet": "${input:text} = '${selectedText}'\n"
            }
          },
          // 3. 替换当前选中内容为固定格式代码
          {
            "command": "workbench.action.focusActiveEditorGroup"
          },
          {
            "command": "editor.action.replaceSelection",
            "args": "(some_fixed_code)${input:text}(some_other_fixed_code)"
          }
        ]
      }
    }
  ]
}

注意:如果目标文件不存在,先手动创建;若需要自动定位到文件末尾插入,可添加cursorEnd命令调整光标位置。

3. 绑定触发方式

绑定快捷键

打开keybindings.json(快捷键Ctrl+K Ctrl+S后点击右上角打开JSON),添加:

{
  "key": "ctrl+shift+l", // 自定义快捷键,可按需修改
  "command": "macros.localizeSelectedString",
  "when": "editorTextFocus && editorHasSelection"
}

添加右键菜单

在settings.json中继续添加以下配置,把命令加入右键菜单:

"commands": [
  {
    "command": "macros.localizeSelectedString",
    "title": "本地化选中字符串"
  }
],
"menus": {
  "editor/context": [
    {
      "command": "macros.localizeSelectedString",
      "when": "editorTextFocus && editorHasSelection",
      "group": "modification@5" // 控制菜单位置,数字越小越靠前
    }
  ]
}

进阶优化

如果需要更复杂的逻辑(比如自动创建目标文件、格式化代码、去重键名),可以编写自定义JavaScript命令:

  1. 在.vscode目录下创建localize-command.js;
  2. 用vscode.commands.registerCommand编写逻辑,调用VS Code API完成文件操作、输入框交互;
  3. 通过Command Runner扩展执行该脚本,或者打包成简易扩展。

内容的提问来源于stack exchange,提问作者Iago París

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 12:06:42