Compile-run C/C++ source code and execute Makefile in Atom.
I am a Windows user and just switched to Atom from Notepad++. Previously I wrote a script in NppExec to compile-run my C/C++ programs and execute Makefiles with customizable compile flags and run options. Atom has numerous community packages and I have tried some. They are really great in certain extent but still cannot fully satisfy my need. Therefore I decided to reference their packages and make my own.
I have tested in the following three platforms:
For Windows users, I recommend installing the TDM-GCC (which I am using), then go to the setting page of this package and change the make utility to
mingw32-make, after that everything should work. If you have installed other gcc-compilers, just make sure their command names are in you
PATH environment variable
For Ubuntu users,
make should have already been installed, though you may need to install
g++ in addition.
For Mac users, Xcode is not a prerequisite but you need to at least install the Xcode Command Line Tools. This site has a more detailed walkthrough.
[shift-]tabto change input focus and
enterto trigger the
To execute a Makefile, a
run target need to be specified, just as in the above
Note: Arguments in run options will be passed as environment variable
ARGS to the Makefile, but compiler flags and link libraries will not. Below is an example
I am new in CoffeeScript and know little about the Model-View-Controller design, thus my code may be messy. Below are the packages that I used and the repositories that I have referenced. They are great and you may want to try them out!
+ A simple but useful package to compile-run C/C++ files
- Cannot customize run arguments
- On windows the cmd console just flash then close after the C/C++ program ends
! The closest that I want, thus mine is a remake with enhancements
+ Support many languages
+ Customizable compile and run flags
- Does not support C/C++ on Windows...
- Does not support interactive running
! The option view is modified from this package
+ Can register commands to do many things
- Troublesome to set up
+ Support automated build
- Need to specify an auto-build file
Good catch. Let us know what about this package looks wrong to you, and we'll investigate right away.