如何让Sublime Text运行上次使用的构建命令?
在Sublime Text中任意标签页运行main.py的几种方案
方案1:用默认快捷键重复上次构建
- 先切换到
main.py,按Ctrl+B(Windows/Linux)或Cmd+B(Mac)运行一次 - 之后不管当前在哪个标签页(比如
module.py),按Ctrl+Shift+B(Windows/Linux)或Cmd+Shift+B(Mac)就能直接重复上次的构建命令(也就是运行main.py) - 如果第一次按
Ctrl+Shift+B弹出构建选择框,直接选之前运行main.py的选项,后续再按就会自动执行上次选中的命令 - 可选优化:打开用户设置(Preferences -> Settings),添加
"repeat_last_build": true,强化自动复用最近构建命令的逻辑
方案2:自定义构建系统(永久指定运行main.py)
这个方法会让Ctrl+B不管当前打开哪个文件,都直接运行main.py:
- 点击顶部菜单
Tools -> Build System -> New Build System - 替换默认内容为以下配置(根据你的Python版本调整
python为python3或实际命令):
{ "cmd": ["python3", "$file_path/main.py"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python", "working_dir": "$file_path", "name": "Python - Run main.py" }
- 保存文件到默认的
Packages/User目录,命名为PythonMain.sublime-build - 回到Sublime,点击
Tools -> Build System,选中刚才创建的Python - Run main.py - 现在不管你在
module.py还是其他同目录文件,按Ctrl+B都会直接运行main.py
方案3:自定义插件(灵活扩展)
如果需要更个性化的逻辑(比如指定不同目录的main.py),可以写个极简插件:
- 点击
Tools -> Developer -> New Plugin - 替换默认代码为:
import sublime import sublime_plugin class RunMainPyCommand(sublime_plugin.TextCommand): def run(self, edit): window = self.view.window() # 优先取项目根目录,没有的话取当前文件所在目录 base_path = window.folders()[0] if window.folders() else self.view.file_name().rsplit('/', 1)[0] main_py = f"{base_path}/main.py" # 执行构建 window.run_command('exec', { 'cmd': ['python3', main_py], 'file_regex': "^[ ]*File \"(...*?)\", line ([0-9]*)", 'working_dir': base_path })
- 保存到
Packages/User目录,命名为RunMainPy.py - 绑定快捷键:打开
Preferences -> Key Bindings,在右侧用户配置里添加:
{ "keys": ["ctrl+alt+b"], // 可自定义快捷键 "command": "run_main_py" }
- 现在按你设置的快捷键,就能随时运行
main.py,不受当前标签页影响
内容的提问来源于stack exchange,提问作者iMath
相关产品推荐
相关产品推荐

