在SublimeText中获取当前文件夹的父文件夹
我正在使用一个叫做Terminal的插件,链接在这里:http://wbond.net/sublime_packages/terminal,它可以打开一个终端窗口,使用起来非常不错。不过,我有一个特定的需求,想要实现两个额外的功能。
1) 我希望在终端中打开当前目录的上级目录,而不是当前目录。比如说:
上级目录(parent_dir)
子目录(child_dir) [在这个“在这里打开终端”的右键菜单上,我希望能改成更合适的名称,这样点击后就能打开上级目录的终端]
在这个链接中:https://github.com/wbond/sublime_terminal/blob/master/Terminal.py#L110,有我们需要的代码。
在Sublime中,“self.window.folders()[0]”似乎可以返回当前文件夹的路径。所以我尝试了这样做:
os.path.dirname(self.window.folders()[0])
但是没什么用。
2) 一旦打开了上级目录,我想运行一个特定的命令“deploy course_correction”,这个命令是我一个朋友提供的本地Python库里的。
我在Python方面的知识显然不够。请帮帮我,如果这只是一个很小的事情,我自己没能搞明白的话。
1 个回答
你可以为这个目的创建一个构建系统。
假设你的项目在 /var/project
这个文件夹里,而你正在处理一个位于 /var/project/sys
文件夹中的文件 myfile
。
那么你可以创建一个新的构建系统:
点击工具 -> 构建系统 -> 新建构建系统...
然后把下面的内容粘贴进去:
{
"working_dir": "${file_path}/../",
"shell_cmd": "deploy course_correction"
}
按下保存 ctrl+s,把它保存到你的 sublime text 用户目录,命名为 deploy_course_correction.sublime-build
。
这样它就会出现在构建系统的菜单里,你需要选择它:
工具 -> 构建系统 -> deploy_course_correction
确保你的文件 /project/sys/myfile
是打开并且被选中的,然后按下 ctrl+b。
这时会打开一个构建结果面板,显示你命令的输出。
希望这正是你想要的。
如果你愿意,也可以调整它,让它不依赖于 sys/myfile
这个文件。