SASをVSCodeの統合Terminalで実行する方法
※2022-9-23更新
最近VSCodeのSAS関連の拡張機能が充実してきたので、VSCodeでコーディングしたSASプログラムをBase SASでVSCodeから実行する方法を記します。
SASの拡張機能はSASの公式が出しているものが使いやすいです。
他にもSASjsという拡張機能もあり、Node.jsで作られたプログラムでBase SASをサーバー化してVSCodeを完全IDEのようにするものもあります。
まあ、SASjsは便利ですけど、なぜか日本語環境だとメッセージが文字化けしてしまい、デバッグしにくいのでBase SASをVSCodeからTerminal経由で実行できるようにするのがコスパ最強な気がします。(メッセージのエンコードがUTF系列でもShift-JISでもなさそうでわけわからん(泣))
VSCodeからBase SASを実行する方法
統合ターミナルを開いて
sas -autoexec sasfile.sas
を実行させるだけです。
システムオプションとして代表的なものは以下のようなものがあります。
-AUTOEXEC : SAS起動時に自動実行するSASプログラム(プログラム自体はSASのエディターで開かない) -SYSIN : バッチモードで実行するプログラムファイルのパスとファイル名 -LOG : バッチモードで実行するときのログファイルのパス、またはパスとファイル名 -PRINT : バッチモードで実行するときのアウトプットファイルのパス、またはパスとファイル名 -NOSPLASH : SAS起動時に表示されるスプラッシュウィンドウを表示しない -ICON : バッチ実行中に表示されるウィンドウをアイコン化する -マクロ変数A : マクロ変数Aに値を渡す
他にも以下のページでオプションが解説されています。
ちなみに"タスクの構成"で”tasks.json”を生成して以下のように記述すると[Ctrl]+[Shift]+B
のキーボードショートカットで実行できるようになります。
{ "version": "2.0.0", "tasks": [ { "label": "run_sas", "type": "shell", "command": "Start-Process", "args": [ "SAS", "-ArgumentList", "'-AUTOEXEC ${file} -NOSPLASH'" ], "group": { "kind": "build", "isDefault": true } } ] }