编译程序并在终端中运行
我使用Ubuntu 12.04,我想知道,是否可以从终端自动运行c ++程序? 当你不得不在控制台中使用build时,它确实很糟糕,因为有时我偶然会发生无限循环,并且必须重新启动崇高的文本才能再次运行。 我正在使用崇高的文字3。
Sublime Text 3包含两个您可能感兴趣的构建系统:C ++和Make。 C++.sublime-build
文件如下所示:
{
"shell_cmd": "g++ "${file}" -o "${file_path}/${file_base_name}"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"variants":
[
{
"name": "Run",
"shell_cmd": "g++ "${file}" -o "${file_path}/${file_base_name}" && "${file_path}/${file_base_name}""
}
]
}
要使用它,请转至Tools -> Build System
并选择C++
。 现在可以使用CtrlB来运行构建(顶部命令),或者使用CtrlShiftB来运行Run
变量。
{
"cmd": ["g++", "$file", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++, source.cxx, source.cpp",
"variants":
[
{
"name": "Run",
"shell": true,
"cmd": ["gnome-terminal -e 'bash -c "${file_path}/${file_base_name};echo;echo; echo Press ENTER to continue; read line;exit; exec bash"'"]
}
]
}
它可以运行在终端并从键盘输入数据
我认为最好的答案并不能实现OP想要实现的目标。 OP想知道如何在终端中执行当前文件。
@ Flycode的设置对我无效。 我使用的是带有Sublime Text 3的CentOS 7.由于人们可能会使用不同的终端仿真器,所以我列出了不同终端的一些不同选项。
注意
以上设置在上述环境中进行了测试并且运行良好。 我不能保证他们会在其他环境中工作。
选项1:GNOME终端
您可以使用以下设置,
{
"shell_cmd": "g++ -std=c++11 -Wall "${file}" -o "${file_path}/${file_base_name}"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"shell": true,
"working_dir": "${file_path}",
"selector": "source.c++, source.cxx, source.cpp, source.cc",
"variants":
[
{
"name": "Run",
"shell_cmd": "gnome-terminal -e 'bash -c "${file_path}/${file_base_name};exec bash "'",
}
]
}
gnome-terminal会自动关闭执行窗口,上面的命令
"shell_cmd": "gnome-terminal -e 'bash -c "${file_path}/${file_base_name};exec bash "'"
以这种方式来确保我们可以看到执行结果。 关于如何防止gnome-terminal自动关闭的详细讨论,请参阅此SO帖子。
选项2:XTerm
您可以使用以下设置(为简洁起见,我省略了一些设置)
{ // same stuff as option 1
"variants":
[
{
"name": "Run",
//use this if you want to input other command after programm execution
"shell_cmd": "xterm -e '${file_path}/${file_base_name}; bash'",
//or you can use the below setting if you just want to execute this program
// "shell_cmd": "xterm -hold -e ${file_path}/${file_base_name}",
}
]
}
看到这个SO帖子关于防止xterm窗口自动关闭。
选项3:Konsole
您可以使用以下设置,
{ // same stuff as option 1
"variants":
[
{
"name": "Run",
"shell_cmd": "konsole --hold -e ${file_path}/./${file_base_name}",
}
]
}
看到这里和这里的讨论,以便在完成程序后持有konsole窗口。
链接地址: http://www.djcxy.com/p/64107.html