Build 通过简单的批处理文件进行升华文本2构建

Build 通过简单的批处理文件进行升华文本2构建,build,sublimetext2,Build,Sublimetext2,我一直在玩ST2,它看起来是一个非常可爱的编辑器。不幸的是,它的文档是可怕的 我很好。这是我的问题 我在一个目录中有五个文件,我通常通过一个.bat文件和 ifort file1.f90 file2.f90 file3.f90 ... 如何通过快捷方式在ST2的windows cmd上定义和执行这一行(考虑环境变量,如PATH),并查看输出?在ST2的这个阶段,这样的事情可能吗?我刚刚做了一个新的构建,如下所示: { "cmd": ["$file"], "selector":

我一直在玩ST2,它看起来是一个非常可爱的编辑器。不幸的是,它的文档是可怕的

我很好。这是我的问题

我在一个目录中有五个文件,我通常通过一个.bat文件和

ifort file1.f90 file2.f90 file3.f90 ...

如何通过快捷方式在ST2的windows cmd上定义和执行这一行(考虑环境变量,如PATH),并查看输出?在ST2的这个阶段,这样的事情可能吗?

我刚刚做了一个新的构建,如下所示:

{
    "cmd": ["$file"],
    "selector": "source.dosbatch"
}
{
"cmd": ["D:\\xampp\\htdocs\\myproject\\dostuff.bat"]
}

然后将您的
ifort…
字符串放入.bat文件并“构建”该文件。

以下是在构建过程中逐步运行批处理文件的方法:

在Sublime文本2中,进入工具->构建系统->新建构建系统

您将看到一个新的文本文件,其中包含以下代码:

{
"cmd": ["make"]
}
现在将“make”更改为批处理文件的确切路径,使其看起来像这样:

{
    "cmd": ["$file"],
    "selector": "source.dosbatch"
}
{
"cmd": ["D:\\xampp\\htdocs\\myproject\\dostuff.bat"]
}
请注意,windows路径必须使用双反斜杠

然后将此文件另存为myproject.sublime-build,保存在它要求您保存它的默认目录中(应该是$HOME\u DIR/AppData/Roaming/sublime Text 2/Packages/User)

然后在您的项目中,返回工具->构建系统并选择与刚才创建的文件同名的构建系统(在本例中为“myproject”)


点击ctrl+b或进入工具->构建,批处理文件将运行,输出将显示在ST2控制台中

这对我来说很有效,并且适用于带有
空白的路径和文件

我已经修复了我在ST论坛上发布的一个bug,这里包括这个修复


将其粘贴到批处理.sublime build文件中。 这将运行cmd.exe并在其本机控制台中运行代码。这将接受批处理文件的输入

{
  "file_patterns": ["*.bat", "*.cmd"],
  "selector": "source.batch",
  // This runs the batch file in the cmd window.
  "shell_cmd": "start \"${file_name}\" call \"${file}\""
}

这是一个可以另存为BatchStConsole的构建。升华构建
这将在Sublime Text的控制台中运行代码。这将不接受您对批处理文件的输入。但对于调试仍然很有用,因为它传递任何参数,如本机CLI,但没有交互

{
    "file_patterns": ["*.bat", "*.cmd"],
    "selector": "source.Batch",
    // This outputs to Sublime Texts' console
    "shell_cmd": "\"${file}\""
}

此外,在新文件
…\Data\Packages\User\Batch file.sublime settings
中,您可以放置此代码并保存。当您将自动生成作为生成检测时,这将生成这些文件类型

{ "extensions": [ "bat", "cmd" ] }

相关帮助:


有没有办法添加多个bat文件,比如“cmd”:[“file1.bat”,“file2.bat”]实际上它需要输入什么?如何在ST控制台中运行?我的意思是它确实需要脚本的输入,因为它在单独的控制台中弹出,正如我文章中的第一个示例所示。当批处理文件包含空格时,此处的其他答案将失败。这就是
\“
的作用。