サクラエディタで開いているファイルのPythonのコードを、ボタン一つで実行するマクロ(環境)を作りました。
WindowsにPythonをインストールする
まずはWindowsでPythonを動かす環境を用意します。既に環境がある人は飛ばしてください。
Pythonの公式ページからインストーラーをダウンロードします。
ダウンロードしたらインストーラーを実行します。
画面が開いたら、「Add Python 3.10 to PATH」をチェックしてから、「Install Now」を押してインストールを開始します。
インストールに成功すると、「Pathの長さを無制限にしようぜ」と言われるので、それにのります。(パスやファイル名の長さを気にしなくてよくなります)
以上でPythonのインストールは完了です。
サクラエディタにマクロを登録する
以下が、サクラエディタに登録するマクロのコードです。
// ビルド&実行するマクロ
Run = function() {
var EXECUTORY = {
'cpp' : function(fileName) {
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"'); // キーが押されるのを待つ
},
'py' : function(fileName) { ExecCommand('cmd /c "' + fileName + '.py && pause"'); }
};
var fileExtension = ExpandParameter('$b'); // $b: 開いているファイルの拡張子
if (EXECUTORY[fileExtension]) {
EXECUTORY[fileExtension](ExpandParameter('$g')); // $g: 拡張子を除いたファイル名
} else {
// 拡張子が対応していない場合は、カーソル行 or 選択された式を実行する
var result = eval(IsTextSelected() ? GetSelectedString(0) : GetLineStr(0));
GoLineEnd();
Char(10); // 改行コード
InsText(result);
}
}; Run(); delete Run;
ゴニョゴニョ書いてありますが、Pythonの実行に必要なのは13行目の処理のみです。
ExecCommand('cmd /c "' + fileName + '.py && pause"');
今回は、C++のビルド/実行も同じキーに割り当てたかったので、関数テーブルを定義しています。(参照:【サクラエディタ/マクロ】コマンドプロンプトでC++のコードを実行する)
上記のファイルをサクラエディタのマクロに登録すれば、ボタン一つで今開いているPythonのコードを動かすことができます。(参照:【サクラエディタ/マクロ】自作したマクロをキーに割り当てる)