Visula StudioのIDEとかでソリューションをビルドする時にF7キー一つで
ファイルも自動的に保存された上でコンパイルから実行までやってくれますが
それじゃ駄目なんです?
ファイルを保存したら自動でコンパイルではなく、
IDEからコンパイルを実行した時にファイルも一緒に保存されるですね。
ATOMは使っていないのでわかりませんがVSCodeでも、
tasks.jsonのlabel
を仮にデバッグ
(名前は何でも良い)にとして、
launch.jsonのpreLaunchTask
にも同じくデバッグ
を設定
後はF5キーを押せばデバッグの開始と同時にファイルの保存とコンパイルも自動で行えるようになりますね。
jsonc
1// tasks.json (コンパイル等の各種コマンドを定義する設定ファイル)
2{
3 "version": "2.0.0",
4 "tasks": [
5 {
6 "label": "デバッグ", // ← この名前をlaunch.jsonのpreLaunchTaskに設定する
7 "type": "process",
8 "command": "g++",
9 "args": [
10 省略...
11 ],
12 "group": {
13 "kind": "build",
14 "isDefault": true
15 },
16 },
17 ]
18}
19
jsonc
1// launch.jsonの例 (デバッガの設定を行うファイル)
2{
3 "version": "0.2.0",
4 "configurations": [
5 {
6 "type": "gdb",
7 "request": "launch",
8 "name": "Launch Program",
9 "target": "main.exe",
10 "cwd": "${workspaceFolder}",
11 "valuesFormatting": "parseText",
12 "preLaunchTask": "デバッグ" // launch.jsonを作成したらこの設定値を追加する
13 }
14 ]
15}
16
ただ、VSCodeでC/C++を扱う場合はこれらのファイルを使う標準的なやり方より、
CMake + Ninja Buildを導入した上で
CMakeLists.txtから直接コンパイルおよびデバッグができる(tasks.jsonとlaunch.jsonの設定も省ける)
CMake Tools Helper拡張機能をインストールして使うのが良いかと思います。