build - Sublime Text 构建系统如何访问缓冲区的内容,而不是文件?

标签 build sublimetext2 sublimetext sublimetext3

假设我在 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/

相关文章:

iphone - 突然我无法为 iPhone 模拟器构建

regex - Sublime Text 3语法定义: how to capture a multiline C-style block comment?

ruby-on-rails - Rails 开发环境 - 有什么建议吗?

macos - Mac 操作系统上的 Sublime Text 3 无法保持项目打开

php - 根据 FTP 请求创建文件

python - 尝试在 Sublime Text 2 中安装 Package Control 时出现 ImportError

Java Jar 版本命名约定

.net - 构建时出现 ILMerge 错误

java - 有没有像 CVS 这样的 scm Gradle 插件?

perl - 使用activeperl设置sublime text 2?