SublimeText构建系统,用于终端中的C / C ++。

时间:2015-03-16 17:11:47

标签: linux sublimetext3 gnome-terminal

我正在使用“Linux Centos-7”,在这里我安装了“SublimeText-3”。 C / C ++代码在SublimeText控制台中运行良好,但我想在Linux终端中运行这些代码。 我在SublimeText构建系统中包含了几行 -

{
"shell_cmd": "g++ -std=c++11 \"${file}\" -o \"${file_path}/${file_base_name}.exe\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++, source.cpp",

"variants":
[
    {
        "name": "Run",
        "shell_cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}\""
    }
]}

上面的代码只是创建一个可执行文件。我必须在终端手动运行。

{
"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":
[
    {
        "cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}\"",
        "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\"'"]
    }
]  
    }

]    }

此代码只能运行终端中的现有文件。

现在,我只想在SublimeText中编写代码并自动在终端中执行它。

感谢。

1 个答案:

答案 0 :(得分:0)

在我安装Sublime之后几天前,我处于相同的状况。我研究了一下,最后得到了这个。

{
  "cmd": ["g++", "-std=c++0x", "$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",
      "cmd": ["bash", "-c", "g++ -std=c++0x '${file}' -o '${file_path}/${file_base_name}' &&  xterm -e bash -c '${file_path}/${file_base_name}; read'"]  
    }
  ]    
}

您可能也必须安装xterm。