string manipulation 插件补足 vscode 原生缺失的驼峰/下划线互转、逐字符 toggle、无选中自动识别单词等能力,支持 8 种命名风格转换且不修改非 ascii 字符。

VSCode 原生不依赖 String Manipulation 插件就能完成大小写转换,但该插件确实能补足原生缺失的关键能力——比如驼峰/下划线互转、逐字符 toggle、无选中自动识别单词等。
String Manipulation 插件能做什么,原生做不到什么
VSCode 内置的 Transform to Uppercase 和 Transform to Lowercase 只做单向 ASCII 字母批量转换,不识别词边界、不处理命名风格、不支持无选中操作。而 String Manipulation(作者: wbond)提供了真正面向开发者的字符串格式操作:
- 把
user_name一键转成userName(snake → camel),或反过来 - 把
getUserId翻转为GETUSERID→ 再按一次变回getuserid(真正的 toggle) - 光标停在
HTTP_STATUS_CODE上,不选中,直接按快捷键就能转成httpStatusCode - 支持 kebab-case、PascalCase、SCREAMING_SNAKE_CASE 等 8 种风格互转
- 所有命令都带
when条件,只在编辑器文本焦点且可编辑时生效,不误触终端或设置页
安装后怎么快速启用常用功能
装完 String Manipulation 后,不需要改配置就能用,但必须知道它的命令名和默认快捷键(部分需手动绑定):
- 打开命令面板:
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS) - 输入
String Manipulation: To camelCase→ 回车,选中user_name即变userName - 输入
String Manipulation: Toggle case→ 这是原生没有的「逐字母反转」,aBc→AbC - 输入
String Manipulation: To UPPER_SNAKE_CASE→userName→USER_NAME - 它不修改非 ASCII 字符:中文、emoji、重音符号(如
café)保持原样,只动英文字母
为什么你配了快捷键却没反应
常见失效不是插件问题,而是作用域或冲突细节被忽略:
- 快捷键只在
editorTextFocus下生效 —— 光标必须在代码文件里,不能在搜索框、终端、调试控制台或 Markdown 预览中 - 插件命令名严格区分大小写和空格,比如
String Manipulation: To camelCase少一个空格或写成tocamelcase就搜不到 - 某些语言模式(如
.json或.env)默认禁用第三方命令,可在右下角语言标识点击 → “Configure 'JSON' language settings” → 加"editor.quickSuggestions": true(虽不影响大小写,但能排除语言模式拦截) - 如果同时装了
change-case,两个插件的Toggle case命令会冲突,VSCode 会提示“有多个命令匹配”,需手动删掉一个绑定 - 快捷键被系统级软件劫持:录屏工具(OBS)、剪贴板管理器(Ditto)、远程桌面(ToDesk)常吞掉
Ctrl+Alt+X类组合
别拿它当原生命令用的三个坑
String Manipulation 功能强,但和原生命令逻辑不同,容易误用:
- 它不保留原始空格结构:对
hello world(前后多空格)执行To camelCase,结果是helloWorld,空格全丢 —— 原生Transform to Uppercase则保留所有空白 - 对混合数字的标识符处理保守:
user2Name转snake_case得到user2_name(不是user_2_name),它不拆数字边界 - 不兼容 TypeScript 符号重命名:直接用它改
const userName = 1里的userName,不会同步更新引用处 —— 这类语义变更仍应优先用F2重命名
真正要小心的是:插件再好,也只是文本层操作;变量名改了但类型定义没同步,运行时照样报错。别让它替代语言服务该干的活。











