Sublime Text复制粘贴时如何自动排除代码/JSON注释?
自动去除JSON注释的Sublime Text解决方案
下面给你几个简便的实现方法,都是在Sublime Text里直接处理,不用手动删注释:
方法1:用自定义构建系统一键清理
- 打开Sublime Text,点击顶部菜单
Tools > Build System > New Build System - 把下面的代码粘贴进去,覆盖默认内容:
{ "cmd": ["python", "-c", "import sys, re; content = sys.stdin.read(); cleaned = re.sub(r'//.*$|/\\*.*?\\*/', '', content, flags=re.MULTILINE | re.DOTALL); cleaned = re.sub(r'\\s+', ' ', cleaned).strip(); print(cleaned)"], "selector": "source.json", "stdin": true, "encoding": "utf-8" }
- 保存文件,命名为
Clean JSON.sublime-build,保存路径选默认的Packages/User文件夹即可 - 选中你要处理的带注释JSON内容,按
Ctrl+B(Windows)或Cmd+B(Mac)运行构建,底部控制台会输出清理后的纯JSON,直接复制结果去Power Automate粘贴就行
方法2:用插件快速处理
如果你装了Package Control,可以直接用现成插件:
- 打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),搜索Package Control: Install Package,然后搜索安装Pretty JSON - 选中带注释的JSON内容,再次打开命令面板,搜索
Pretty JSON: Remove Comments,插件会自动移除所有//和/* */注释 - 处理完直接复制内容粘贴到Power Automate即可
方法3:绑定快捷键一键清理并复制
这个方法最省心,按个快捷键直接把清理好的内容放到剪贴板:
- 点击顶部菜单
Preferences > Browse Packages,打开User文件夹 - 新建一个文件,命名为
clean_json_copy.py,粘贴下面的代码:
import sublime import sublime_plugin import re class CleanJsonAndCopyCommand(sublime_plugin.TextCommand): def run(self, edit): # 取选中内容,没选中就取整个文件 region = self.view.sel()[0] if not self.view.sel()[0].empty() else sublime.Region(0, self.view.size()) content = self.view.substr(region) # 移除行注释和块注释 cleaned = re.sub(r'//.*$|/\*.*?\*/', '', content, flags=re.MULTILINE | re.DOTALL) # 整理多余空白(可选,让JSON更紧凑) cleaned = re.sub(r'\s+', ' ', cleaned).strip() # 复制到剪贴板 sublime.set_clipboard(cleaned) sublime.status_message("清理后的JSON已复制到剪贴板")
- 打开快捷键设置(
Preferences > Key Bindings),在右侧用户配置里添加:
{ "keys": ["ctrl+shift+c"], "command": "clean_json_and_copy", "context": [{"key": "selector", "operator": "equal", "operand": "source.json"}] }
- 以后在JSON文件里,只要按
Ctrl+Shift+C(可以自行修改快捷键),就能直接把清理好的JSON复制到剪贴板,直接去Power Automate粘贴就行
注意:上面的方法会同时处理//行注释和/* */块注释,如果只需要处理行注释,把正则里的|/\*.*?\*/删掉即可。
内容的提问来源于stack exchange,提问作者rabbitco
相关产品推荐
相关产品推荐

