假设我在 Sublime Text 3 (ST3) 中打开了一个新缓冲区;如何从我的构建系统访问该缓冲区的内容?即假设我有一个构建系统,它将运行一个文件node
——在那种情况下,我可以简单地使用 $file
,但据我所知,当前缓冲区的内容没有构建系统变量。有没有办法将当前选定的、未保存的缓冲区的内容拉入构建过程?
最佳答案
为此,您需要编写一个自定义插件来执行构建过程,然后添加
"target": "my_plugin_class"
给您的
.sublime-build
文件而不是标准"cmd": ["external_program", "option1", "option2", "$file"]
在你的插件中,你可以引用当前的 view ,甚至是当前的 window如果您要处理多个标签页。您的插件可以像将当前 View 的内容写入临时文件一样简单,例如,使用 Python 运行它,然后在完成后删除临时文件。
要了解标准构建过程是如何执行的,请查看
Packages/Default/exec.py
.您可以通过选择 直接在 Sublime Text 2 中浏览到此文件。 Preferences -> Browse Packages...
.在 ST3 中,所有默认包都包含在 .sublime-package
中。 zip 文件,所以你需要安装优秀的 PackageResourceViewer
插入。安装后,使用 (Ctrl/⌘)ShiftP 或 打开命令面板Tools -> Command Palette
, 输入 prv
要调出 PackageResourceViewer 选项,请选择 PackageResourceViewer: Open Resource
,然后通过菜单选择 Default -> exec.py
.祝你好运!
关于build - Sublime Text 构建系统如何访问缓冲区的内容,而不是文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25408444/