sublime如何快速将选中文本转换为大驼峰命名?(命名规范工具)

发布时间 - 2026-01-25 00:00:00    点击率:
Sublime Text 原生不支持 snake_case→PascalCase 转换,需依赖插件或外部脚本;推荐用 Text Pastry 分词→首字母大写→合并,或配置 Python 构建系统实现。

Sublime Text 里没有内置的大驼峰转换功能

原生 Sublime Text 不提供 snake_casePascalCase 的一键转换,也不存在叫 “大驼峰命名” 的标准命令。你看到的类似功能,基本都来自插件,且多数只支持小驼峰(camelCase),不自动处理首字母大写。

推荐用 Text Pastry + 手动预处理实现稳定转换

这是目前在 Sublime Text 中最可控、不依赖正则黑盒、适合批量操作的方式。核心思路是:先分词 → 清理空格/下划线 → 首字母大写 → 拼接。

  • 安装插件:Package ControlInstall Package → 搜索并安装 Text Pastry
  • 选中待转换文本,例如:user_name_inputapi_response_data
  • 按下 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Text Pastry: Split on,回车后输入 _- 分割单词
  • 此时光标会出现在每个单词开头(多行多点),按 Ctrl+Shift+U(Sublime 默认“转大写”快捷键)统一首字母大写
  • 再用 Ctrl+Shift+PText Pastry: Join lines 合并为单行

用正则替换快速处理简单场景(慎用于含数字或缩写)

适用于纯英文、无数字、无连续下划线的字符串,比如 file_pathFilePath。但遇到 http_status_codeuser_id_2 会出错。

Find: (?

说明:

  • (? 确保不匹配行首
  • (?:_|-) 匹配下划线或短横线(非捕获组)
  • (\w) 捕获紧跟其后的字母或数字
  • \U$1 把捕获内容转为大写(注意:Sublime 的 \U 仅对 ASCII 字母有效)
  • 执行前需先全选目标文本,再打开 Find → Replace,勾选 Regular ExpressionIn Selection

真正省心的做法:用外部脚本 + Sublime

Build System

如果你频繁处理命名转换,硬编码一个 Python 脚本比折腾插件更可靠。Sublime 支持把任意命令设为构建系统,还能保留光标位置。

例如新建 PascalCase.sublime-build,保存到 Packages/User/ 目录:

{
  "shell_cmd": "python3 -c \"import sys; s = sys.argv[1]; print(''.join(x.capitalize() for x in s.replace('-', '_').split('_')));\" \"$SELECTION\"",
  "selector": "text.plain"
}

使用时:选中文本 → Ctrl+Shift+B → 选择该构建系统 → 输出即为 PascalCase 结果(需手动粘贴)。注意路径和 Python 版本要匹配本地环境。

复杂点在于:Sublime 的构建系统默认不支持“原地替换”,所以它更适合校验或辅助生成,而不是全自动覆盖。真要无缝集成,得写 Plugin —— 那就超出轻量工具范畴了。


# linux  # python  # sublime  # windows  # 编码  # 工具  # mac  # ai  # macos  # win  # cos 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JavaScript中如何操作剪贴板_ClipboardAPI怎么用  制作公司内部网站有哪些,内网如何建网站?  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  bing浏览器学术搜索入口_bing学术文献检索地址  如何用西部建站助手快速创建专业网站?  如何在香港免费服务器上快速搭建网站?  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  教你用AI润色文章,让你的文字表达更专业  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  Java垃圾回收器的方法和原理总结  Laravel定时任务怎么设置_Laravel Crontab调度器配置  手机网站制作与建设方案,手机网站如何建设?  如何为不同团队 ID 动态生成多个独立按钮  如何在阿里云通过域名搭建网站?  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  如何注册花生壳免费域名并搭建个人网站?  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  Laravel如何使用Eloquent进行子查询  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  bootstrap日历插件datetimepicker使用方法  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  Laravel怎么使用Intervention Image库处理图片上传和缩放  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  UC浏览器如何设置启动页 UC浏览器启动页设置方法  zabbix利用python脚本发送报警邮件的方法  如何在IIS7中新建站点?详细步骤解析  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  原生JS获取元素集合的子元素宽度实例  EditPlus 正则表达式 实战(3)  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  详解Android图表 MPAndroidChart折线图  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  Android利用动画实现背景逐渐变暗  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  利用JavaScript实现拖拽改变元素大小  大连 网站制作,大连天途有线官网?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  香港服务器网站卡顿?如何解决网络延迟与负载问题?