使用Sublime Text构建(并运行)Pascal

时间:2014-09-23 05:41:23

标签: build sublimetext2 sublimetext3 pascal

我想在Sublime Text 2(或3)中构建并运行Pascal。我尽可能多地搜索,虽然我可以在ST3中构建我的dpr或pas文件,但我很难让它们在命令提示符下作为exe运行。因此,我尝试使用它,正如有人建议的那样(Qwerty在其他人的帖子上回答了这个问题):

{

"cmd": ["fpc", "${file_path}/${file_base_name}"],
"selector": "source.pascal",
"variants": [
    {
        "cmd": ["start", "cmd", "/c", "$file_base_name.exe & pause"],
        "name": "Run",
        "shell": true
    }
]

}

在编译和运行hello world时它完全正常,但是在其他方面给我错误:

免费Pascal编译器版本2.6.4 [2014/03/06] for i386

Florian Klaempfl及其他人的版权所有(c)1993-2014

目标操作系统:适用于i386的Win32

编译F:\ Ali \ Pascal \ Projects \ adult.pas

链接F:\ Ali \ Pascal \ Projects \ adult.exe

adult.pas(32,1)错误:无法创建目标文件:F:\ Ali \ Pascal \ Projects \ adult.exe

adult.pas(32,1)致命:无法创建可执行文件F:\ Ali \ Pascal \ Projects \ adult.exe

致命:编译中止

错误:C:\ FPC \ 2.6.4 \ bin \ i386-Win32 \ ppc386.exe返回错误exitcode(如果您没有指定要编译的源文件,则为正常)

[退出代码1完成0.4秒]

然而如果它是Hello World:

Florian Klaempfl及其他人的版权所有(c)1993-2014 目标操作系统:适用于i386的Win32 编译F:\ Ali \ Pascal \ Projects \ hello.pas 链接F:\ Ali \ Pascal \ Projects \ hello.exe 4行编译,0.3秒,25936字节代码,1644字节数据 [以0.5秒完成]

2 个答案:

答案 0 :(得分:1)

此构建系统编译您的程序并自动运行它。虽然如果你只是想编译,或者你只想运行程序,你可以按Ctrl-Shift-B来完成。

{
        "shell": true,
        "cmd": ["fpc", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/c", "$file_base_name.exe", "&", "pause"],
        "selector": "source.pascal",
        "variants": [
            {
                "cmd": ["start", "cmd", "/c", "$file_base_name.exe & pause"],
                "name": "Run",
                "shell": true
            },
            {
                "cmd": ["fpc", "${file_path}/${file_base_name}"],
                "name": "Compile",
                "shell": true
            }
        ]
    }

答案 1 :(得分:0)

检查您的流程。之前构建的exe仍然在运行并由OS锁定,因此fpc无法覆盖它。 Hello可能没有运行,所以没关系。

其他一切都在这里工作。

我的变体:

{  
 "cmd": ["C:\\lazarus\\fpc\\2.6.4\\bin\\i386-win32\\fpc.exe", "$file"],
  "selector": "source.pascal",
  "variants": [{
       "cmd": ["start", "cmd", "/c", "$file_base_name.exe & pause"],
       "name": "Run",
       "shell": true
   }]
}

PS!我不知道你能做到这一点。我现在更喜欢Sublime了!感谢。