如何在IntelliJ IDEA中实现下划线转驼峰并绑定自定义快捷键
下划线命名转小驼峰命名的Python实现方案
核心转换函数
先实现基础的下划线转小驼峰逻辑,处理单个字符串:
def snake_to_camel(snake_str): components = snake_str.split('_') # 首段保持小写,后续分段首字母大写后拼接 return components[0] + ''.join(x.capitalize() for x in components[1:])
测试示例:
print(snake_to_camel("receipt_success_bill_count")) # 输出 receiptSuccessBillCount print(snake_to_camel("bill_success_count")) # 输出 billSuccessCount
批量处理剪贴板内容(适配MyBatis场景)
针对批量转换数据库列名到实体类属性的需求,编写脚本直接处理剪贴板中的多行文本,自动识别MyBatis的<result>标签并替换property属性值:
import pyperclip def snake_to_camel(snake_str): components = snake_str.split('_') return components[0] + ''.join(x.capitalize() for x in components[1:]) def process_clipboard(): # 读取剪贴板内容 raw_content = pyperclip.paste() if not raw_content: return processed_lines = [] for line in raw_content.split('\n'): # 处理MyBatis的result标签 if 'column="' in line and 'property="' in line: # 提取column属性值 col_start = line.find('column="') + 8 col_end = line.find('"', col_start) column_name = line[col_start:col_end] camel_name = snake_to_camel(column_name) # 替换property属性值 prop_start = line.find('property="') + 10 prop_end = line.find('"', prop_start) new_line = line[:prop_start] + camel_name + line[prop_end:] processed_lines.append(new_line) else: # 普通下划线字符串直接转换 processed_lines.append(snake_to_camel(line)) # 将处理结果写回剪贴板 pyperclip.copy('\n'.join(processed_lines)) print("转换完成,结果已写入剪贴板") if __name__ == "__main__": process_clipboard()
绑定快捷键实现快速触发
macOS系统
通过Automator创建快速操作绑定快捷键:
- 打开Automator,新建「快速操作」
- 添加「运行Shell脚本」模块,填入:
/usr/bin/python3 /你的脚本绝对路径/snake_to_camel.py - 设置「工作流程收到」为「没有输入」,「位于」为「任何应用程序」,保存为「下划线转驼峰」
- 打开系统设置→键盘→快捷键→服务,找到该快速操作,设置自定义快捷键(比如⇧⌘C)
Windows系统
通过AutoHotkey绑定快捷键:
- 安装AutoHotkey
- 创建
.ahk脚本文件,内容如下(快捷键为Ctrl+Shift+C,可自定义):^+C:: Run, pythonw.exe "C:\你的脚本绝对路径\snake_to_camel.py" return - 双击运行脚本,按下设置的快捷键即可触发转换
使用流程
- 选中需要转换的文本(单个字符串或多行MyBatis代码),复制到剪贴板
- 按下自定义快捷键,脚本自动处理剪贴板内容
- 粘贴即可得到转换后的驼峰命名内容
内容的提问来源于stack exchange,提问作者王子豪
相关产品推荐
相关产品推荐

