hmPyの機能ではなく、秀丸マクロの機能となりますが、hmPyと関係が深いものとして、
秀丸エディタ 8.66では、C++の「R""」やC#の「@」のようなものが秀丸マクロで利用可能となっています。
このため、秀丸マクロ内に、IronPythonをそのまま直接書き込めるようになりました。
これは非常に大きなメリットと言えるでしょう。
又、8.66以前のバージョンでは秀丸マクロの文字列リテラル(べた書きの文字列)の最大長は4Kバイトでしたが、
8.66以降では、64Kバイトとなりました。
これは、「連続1500行程度のIronPythonをマクロ内に直接張り付けることが出来る」ことを意味します。
デバッグ用途として以下の関数を利用し、「秀丸デバッグモニター」などに値や文字列を表示することが出来ます。
対象の文字列を、システムデバッガへと文字列を転送します。
「秀丸デバッグモニター」などに値や文字列を確認することが可能です。
秀丸本体のバージョンを数値として取得します。
秀丸 8.7.3.β3 の場合は、873.03、
秀丸 8.7.3.β10 の場合は、873.10、
秀丸 8.7.3 正式版 の場合は、873.99、
といったような値が返ってきます。
#PY = loaddll( hidemarudir + @"\hmPy.dll" ); #_ = dllfuncw( #PY, "DoString", R"PY( hm.debuginfo(hm.version) )PY" ); freedll( #PY );
IronPython内に「DestroyScope」という名前の関数を用意しておくと、
マクロ終了時に自動的にその関数が実行されます。
#PY = loaddll( hidemarudir + @"\hmPy.dll" ); #_ = dllfuncw( #PY, "DoString", R"PY( def DestroyScope(): hm.debuginfo("マクロ終了する直前に自動的にこの関数が呼び出される。\n") )PY" ); freedll( #PY );