12

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

而且我很好。所以这是我的问题。

我在一个目录中有五个文件,我通常通过 .bat 文件构建这些文件

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

如何通过快捷方式从 ST2 在 Windows cmd 上定义和执行这一行(考虑到 PATH 等环境变量)并查看输出?在这个阶段,ST2 是否有可能做到这一点?

4

3 回答 3

11

我刚刚做了一个这样的新版本:

{
    "cmd": ["$file"],
    "selector": "source.dosbatch"
}

然后你会将你的ifort ...字符串放在一个 .bat 文件中并“构建”它。

于 2012-05-11T19:13:01.690 回答
10

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

在 Sublime Text 2 中,转到工具 -> 构建系统 -> 新构建系统

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

{
"cmd": ["make"]
}

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

{
"cmd": ["D:\\xampp\\htdocs\\myproject\\dostuff.bat"]
}

请注意,您必须对 Windows 路径使用双反斜杠。

然后将此文件作为 myproject.sublime-build 保存在它要求您保存它的默认目录中(应该是 $HOME_DIR/AppData/Roaming/Sublime Text 2/Packages/User)。

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

按 ctrl + b 或转到工具 -> 构建,您的批处理文件应该运行并且输出将出现在 ST2 控制台中。

于 2012-08-13T06:46:05.607 回答
2

这对我有用,并且适用于带有whitespaces.

我已经修复了我在此处的 ST 论坛上发布的错误,此处包括该修复。


将此粘贴到您的Batch.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-build 它将在 Sublime Texts 的控制台中运行代码。这将不接受您输入的批处理文件。但对于调试仍然很有用,因为它传递了像本机 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" ] }

相关帮助:

https://ss64.com/nt/start.html

https://docs.sublimetext.io/guide/usage/build-systems.html

https://www.sublimetext.com/docs/3/build_systems.html

于 2019-05-15T16:55:36.037 回答