こちらの続きです。
VSCodeでPowerMillマクロ開発環境を作りたい7 - C#ATIA
コメント部分に記載しましたが、本当はデバッグも行いたいです。
VSCodeのプログラミング言語の拡張を見ると色々とあるのですが、
大半の言語がVSCode上でのデバッグは対応していないです。
対応しているのはこちらっぽいです。
Visual Studio Codeの各言語、環境のデバッグの仕方を集めたサイトを作ってる - Qiita
他にもHSPも対応してそうです。
恐らくそれなりにハードルが高いことなのだろうと思っており、
素人の手の届く範囲を超えていると諦めています。
但し、PowerMillのデバッガを起動することはマクロで可能と
わかっています。
「C:\tmp\hoge.mac」にファイルを置いておき、PowerMillを起動。
VBAでもVBScripでも動くのですが、こちらを実行すると
目的のマクロをデバッガで開いてくれます。
'powermill Dim pm Set pm = GetObject(, "PMILL.Document") 'マクロパス Dim path path = "C:\tmp\hoge.mac" 'コマンド Dim cmd cmd = "MACRO DEBUG " & path 'デバッガ起動 Call pm.docommand(cmd)
PowerMill側でマクロパス設定を行っていないフォルダでもデバッガで
開くことが可能です。
これだけの事なのですが、もう一週間以上探し回っても手段が見つからない
状況です。本当にたったこれだけの事なのに…。
そもそも、VSCodeでデバッグが可能になっている仕組み自体が理解出来て
いなかったため、色々調べてみました。
こちらのサイトが(このサイトと違って)非常に丁寧な説明がされており、
一番理解しやすかったです。
今日のPython: VSCode で TypeScript のデバック設定
薄っすらした理解(誤った理解がある可能性有り)では、TypeScriptの場合は
・VSCodeでデバッグ可能なのは Node.js のおかげ
・Node.js 経由でデバッグ可能なのは JavaScript のみ
・他言語でデバッグ可能にするのは、コンパイラ次第
・他言語の場合は、JavaScript にビルド(正しくはトランスパイル)
して呼び出している?
と思い込んでおきます。
デバッグ開始(F5)では launch.json が構成になっているけど、
上記のビルド処理を事前に行っておく必要があるため、
ビルドタスク(Ctrl + Shift + B)を用意しておく必要があり、
そちらの構成が tasks.json になっていると思い込んでおきます。
是非、編集中のPowerMillマクロをF5で呼び出したい!
と思い探し回っているのですが、見つからないです。
〇作戦1
VBSファイルを用意し、編集中ファイルパスをパラメータにし
F5経由でタスクのコマンドとして実行する。
〇作戦2
他言語(JavaScript・TypeScript・PowerShell辺り)で
上記コード相当を実行する。
・JavaScript・TypeScriptでVBAのGetObject相当の処理を
したいのだが見つからない。こちらを見つけたけ試したが
ちょっと違うっぽい。
GetObject - JavaScript | MDN
・PowerShellだとDotNetが利用出来そう(VB)なのだが、
Node.js 以外のもののインストールを強制するのは気が引ける。
ん~下手すればワンライナーで済む処理なんだけどなぁ。