【サクラエディタ/マクロ】コマンドプロンプトでC++のコードを実行する


簡単にC++のコードを実行する環境が欲しかったので、サクラエディタで開いているファイルを、ボタン一つでビルドし実行するマクロを作りました。

目次

WindowsにC/C++のビルド環境を作る

今回はMinGWを使用しています。すでに環境がある人は飛ばしてください。

インストーラーは https://osdn.net/projects/mingw/downloads/68260/mingw-get-setup.exe/ からダウンロードできます。

MinGW Installation Managerをインストールする

ダウンロードした mingw-get-setup.exe を叩いて「Install」を押します。

Installを押す

特に設定をする必要はないので、そのまま「Continue」を押します。

インストール設定

インストールが完了したら再度「Continue」を押します。

これでMinGW Installation Managerのインストールは完了です。

必要なコンパイラーをインストールする

MinGW Installation Managerを起動し、「Basic Setup」から以下をマークします。

  • mingw32-base-bin
  • mingw32-gcc-g++-bin
コンパイラーを選択

「Installation」タブの「Apply Changes」を押します。

Apply Changesを押す

「Apply」を押します。

以上でコンパイラーのインストール完了です。

「Close」を押し、アプリを終了して大丈夫です。

コンパイラーインストール完了

マクロを作成/登録する

以下はサクラエディタに登録するマクロのコードです。

// ビルド&実行するマクロ
Run = function() {
	if (ExpandParameter("$b") == "cpp") {
		var fileName = ExpandParameter("$g");
		var srcFile = fileName + ".cpp";
		var exeFile = fileName + ".exe";
	
		ExecCommand("cmd /c "                                          // Cmd.exeを開始
				+ "\"g++ -O0 -std=c++2a " + srcFile + " -o " + exeFile // ビルド
				+ " && " + exeFile                                     // 実行
				+ " && del " + exeFile                                 // 実行ファイル削除
				+ ' && pause || pause"');                             // キーが押されるのを待つ
	} else {
		// cppファイル以外の場合は、カーソル行の式を実行する
		var result = eval(GetLineStr(0));
		GoLineEnd();
		Char(10);    // 改行コード
		InsText(result);
	}
}; Run();

サクラエディタで定義されている 「ExecCommand」関数を使用して、コマンドプロンプトを起動し、ビルド・実行をしています。

else 内の処理は今回のテーマとは関係ないですが、あったら便利かなということで記載しています。

このファイルをマクロ登録し、好きなキー割り当ててください。(参照: 【サクラエディタ/マクロ】自作したマクロをキーに割り当てる)

これで、ボタン一つでC++のコードをお手軽に実行できる環境ができました。

C++の挙動を確認したいときや、簡単なお試しコードを書くときなどに便利です。

サンプルコード

“【サクラエディタ/マクロ】コマンドプロンプトでC++のコードを実行する” への1件のコメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です