スクリプトエンジンについてNo.11321
mac さん 24/09/21 07:11
 
現状では非常に古いエンジン(素のWSH?ES3相当?)のままになっていますが、Chak
raやV8相当のエンジンに更新する計画はありますか?

私はもっぱらJScupt側(.js)で秀丸ファイラのスクリプト機能を利用してるのです
が、たまにスクリプトを手直しあるいは新たに書き起こすときに「各種のモダンな構
文やメソッドが利用できないこと」にもどかしさを感じています(少なくない量の代
替コードが必要になります)。
本家WSHでは /e オプションでChakraエンジンを指定できたりするので、秀丸ファイ
ラでも似たようなことができたら(あるいは秀丸エディタのようにV8を利用できた
ら)うれしく思います。


また、数か月前にMSから「今後はVBScriptを非推奨とする」旨の発表があり各種メデ
ィアで記事になりましたが、WSHそのものやJScript側への言及が一切なかったので、
秀丸ファイラのスクリプト機能への影響が気になっています。
こちらについても、なにか確認できた情報があったら教えていただけるとありがたい
です。

[ ]
RE:11321 スクリプトエンジンについてNo.11322
秀丸担当 さん 24/09/24 14:32
 
スクリプトエンジンをChakraやV8にする計画は今のところ無いです。
もしするとしたらChakra相当にすることは比較的やりやすいです。
秀丸エディタでしているようなV8相当にするのは比較的難しいです。
WSHそのものやJScriptの方針が今後どうなるかわかりませんが、発表されているのは
IEを無くしていくということなので、どちらかというとChakraのほうが心配したほう
がいい気がします。
DOSは無くなっていないので、発表が無いのなら無いでいいんじゃないかと思います。
もしなにかあったら、たぶんMicrosoftが提供するかもしれない別途インストールを
してくださいと言うか、Chakra相当を個別に付属するかになるかもしれません。

あと文法を新しくしたいという場合、.tsで書いて、tscでコンパイルして.jsにする
という手法があります。
例えば以下のものは.tsで書いていますが、最終的に実行されているのはWSHのJScrip
tです。
https://hide.maruo.co.jp/lib/macro/lspclientsample003.html

[ ]
RE:11322 スクリプトエンジンについてNo.11324
mac さん 24/09/27 22:35
 
お返事ありがとうございます。
現時点ではエンジン刷新や切替機能は計画されていないんですね。

>あと文法を新しくしたいという場合、.tsで書いて、tscでコンパイルして.jsにす
>るという手法があります。

手法のご案内ありがとうございます。
秀丸ファイラ用スクリプトの記述に同手法を利用する環境を整えられていましたら、
各種API(静的メソッドやプロトタイプメソッド等)を含めてES3向けにトランスパイル
するための推奨ビルドチェーン等の参考情報を公開して頂けるとありがたいです。
また、秀丸ファイラ固有のAPI(getNextItem()等のグローバルメソッド、scriptFullN
ame等のグローバルプロパティ)の型定義ファイル(.d.ts)についても公式で公開頂け
たらうれしいです。

ちなみに、現行のtsc(5.x系)ではES3へのコンパイルがサポートから外れたようで、
旧バージョン(4.x系)を利用する必要がありそうでした。

[ ]
RE:11324 スクリプトエンジンについてNo.11326
秀丸担当 さん 24/09/30 16:33
 
tscではES3は無くなっていくのですね。
全体を把握していませんがletとかアロー関数とかはコンパイルされているっぽいの
で、そういった最低限のものにしたほうがいいかもしれません。
あるいは不足を埋めるポリフィルのようなものとか?
とにかくJScriptというだけで、何かを推奨するということは無いです。
メソッドを羅列しただけの.d.tsはあってもいいかもしれないです。
ご意見参考にさせていただきます。

[ ]
RE:11326 スクリプトエンジンについてNo.11328
mac さん 24/10/02 17:51
 
お返事ありがとうございます。

先の要望は秀丸ファイラ担当さんの部署やサイトー企画さん社内でES3向けのビルド
チェーンを構築して秀丸ファイラスクリプトを書かれている方がおられることを期待
して書かせていただきました。
私のES3に対する主な不満は「Number/String/Array/Object等の各種プロトタイプメ
ソッドやスタティックメソッドが使えないこと」なので、tscだけではコンパイルの
手間が増えるだけで個人的にはほとんど意味を感じません。
また、その一方でBabel等でポリフィルライブラリをバンドルするような手法は環境
構築(ベタープラクティスにたどり着くまで)がとても大変そうです。
今後のエンジン刷新orエンジン切り替え機能の実装に(勝手ながら)期待したいと思
います。

ちなみに、WSHにおけるChakraエンジンは「旧Edge用のエンジン」であって、IEとは
関係ないようです。
- IE用(jscipt9.dll):  /E:{16d51579-a30b-4c8b-a276-0ff4dc41e755}
- 旧Edge用(chakra.dll):  /E:{1B7CD997-E5FF-4932-A7A6-2A9E636DA385}


[ ]
RE:11328 スクリプトエンジンについてNo.11330
秀丸担当 さん 24/10/03 14:58
 
Chakraは2つあるということで、情報ありがとうございます。
Chakraにするだけでよければ比較的やりやすいです。
秀丸エディタでやっているのはどちらか調べてみたら、jscipt9.dllのほうでした。
chakra.dllのほうはWSHとしては動作できなさそうでした。(もしかしたら方法はあ
るのかもしれないですが)

jscipt9.dllのほうだとして、プロトタイプメソッドの違いがあるか全部ではないで
すが幾つか試してみたのですが、違いがあるかわかりませんでした。
秀丸エディタのようにjsmode "Chakra";とできたとしてもこの点については違いが無
いかもしれません。

[ ]
RE:11330 スクリプトエンジンについてNo.11332
mac さん 24/10/06 21:32
 
>jscipt9.dllのほうだとして、プロトタイプメソッドの違いがあるか全部ではない
>ですが幾つか試してみたのですが、違いがあるかわかりませんでした。

jscript9はES5相当だと思っていたのですが実際には違うようですね...
無理筋な雰囲気を感じてはいますが、できたらChakra(jscript9ではない、chakra.d
ll 相当)かV8相当のエンジンへの刷新について検討をお願いしたいです。

この先何らかのより良い解決手法が見つかることを期待しています。


[ ]
RE:11332 スクリプトエンジンについてNo.11333
秀丸担当 さん 24/10/07 09:35
 
将来はわかりませんが、期待させてしまうと悪いので、いまのところやる予定は無い
ということでお願いします。
そういうご意見があるということで参考にさせていただきます。


[ ]