Last active
September 5, 2024 10:26
-
-
Save jdhao/3e45ba9164fe3d27c40ea86b6455435f to your computer and use it in GitHub Desktop.
Sublime text 3 C++ build system to run C++ executable within sublime text or in a terminal emulator in cases that the program need input from standard input. This build system works on Linux, Windows and MacOS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\"", | |
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", | |
"working_dir": "${file_path}", | |
"selector": "source.c++, source.cpp, source.cc, source.cxx", | |
"variants": | |
[ | |
{ | |
"name": "Run in Terminal", | |
"linux": { | |
"shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && xterm -e '${file_path}/${file_base_name} && echo && echo Press ENTER to continue && read line && exit'", | |
// "shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && gnome-terminal -e 'bash -c \"${file_path}/${file_base_name}&& echo && echo Press ENTER to continue && read line && exit\"'", // for gnome-terminal | |
// "shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && xterm -e '${file_path}/${file_base_name}; bash'", // for xterm | |
// "shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && xterm -hold -e ${file_path}/${file_base_name}", // for xterm | |
// "shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && konsole --hold -e ${file_path}/./${file_base_name}", // for konsole | |
}, | |
"windows":{ | |
"shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && start cmd /k $file_base_name " | |
// "shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && start \"$file_base_name\" call $file_base_name" | |
}, | |
"osx":{ | |
"shell_cmd": "g++ -std=c++11 -Wall \"${file}\" -o \"${file_path}/${file_base_name}\" && xterm -e '${file_path}/${file_base_name} && echo && echo Press ENTER to continue && read line && exit'", | |
}, | |
"shell": true, | |
}, | |
] | |
} |
is there a way to solve this warning?
Option “-e” is deprecated and might be removed in a later version of gnome-terminal.
Use “-- ” to terminate the options and put the command line to execute after it.
you can use command like this, it won't show this warning
"shell_cmd": "g++ -std=c++17 -Wall \"${file}\" -o \"${file_path}/${file_base_name}.out\" && gnome-terminal --geometry=55x52 --tab --active -- bash -c 'bash -c \"${file_path}/${file_base_name}.out&& echo && echo Press ENTER to continue && read line && exit\"'", // for gnome-terminal
but, you need to install terminus :
{
"target": "terminus_open",
"cancel": "terminus_cancel_build",
"shell_cmd": "g++ ${file} -o ${file_path}/${file_base_name} && ${file_path}/${file_base_name}.exe && pause ",
"file_regex": "^(..[^:]):([0-9]+):?([0-9]+)?:? (.)$",
"working_dir": "${file_path}",
"selector": "source.c++, source.cpp, source.cc, source.cxx",
}
I wanted to add a path to a compiler on Windows so had to escape backslashes in the path.
d:\bin\mingw
->
d:\bin\ming\
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
use open -a Terminal.app "${file_path}/${file_base_name}" instead