从Sublime Text 2构建后在cmd模式下运行程序

3

我正在使用Sublime Text 2和MinGW作为编译C++程序的构建系统。我已经将以下构建添加到我的Sublime:

{
    "cmd": ["mingw32-g++.exe", "-o", "$file_base_name", "$file"],
    "path": "C:\\Program Files (x86)\\MinGWStudio\\MinGW\\bin\\"
}

现在我想在cmd窗口中运行刚刚编译的程序(而不是在Sublime控制台中)。我应该在该命令中添加什么?谢谢。
2个回答

8
以下的构建系统将在构建完成后,在新的cmd窗口中运行您的程序:
{
    "cmd": ["mingw32-g++.exe", "-o", "$file_base_name", "$file"],
    "path": "C:\\Program Files (x86)\\MinGWStudio\\MinGW\\bin\\",

    "variants": [

        {   
            "cmd": ["start", "cmd", "/k", "$file_base_name"],
            "shell": true,
            "name": "Run"
        }
    ]
}

"“Run”名称具有特殊意义,它意味着当您将此构建系统选为默认系统时,按下CtrlB将会编译您的程序,按下CtrlShiftB将会执行它。start是启动一个独立进程的命令,cmdcmd.exe的缩写,Windows命令行程序,而/k选项可以在程序退出后保留窗口,以便您可以查看其输出、运行其他命令等。"

如果您遇到代码输出仍无法运行的问题,请确保使用的是 cmd 而不是 shell_cmd。后者会抑制输出。 - sawyermclane

0

对于那些在MacOS(High Sierra)和Sublime 2上尝试此操作的人,您可能需要在构建系统中考虑下一个字符串:

{
    "cmd": ["make", "${file_base_name}"],
    "selector" : "source.c",
    "variants": [

        {   
            "cmd": ["/Applications/vice/x64sc.app/Contents/MacOS/x64sc $file_base_name"],
            "shell": true,
            "name": "Run"
        }
    ]   
}

这个例子将启动已安装在特定位置的Vice(C64模拟器),它以文件基本名称作为参数。请注意,我不使用“start”、“cmd”或“/k”。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接