コードブロックにオプションを入力できるようにしたいです。私がやりたいようにgcc -P test.c
。これを行うにはどうすればよいですか?基本的には、コード ブロックがprompt box
コンパイルするたびに を提供して、そのボックスにオプションを入力できるようにしたいと考えています。その機能はコード ブロックで利用できますか?
1 に答える
更新された回答で必要な動作は、Code::Blocks では利用できません。
ただし、そのためのプラグインを作成する時間を投資すれば、この動作を得ることができるはずです (wxWidgets のスキルに応じて、1 時間以内である必要があります。ダイアログをポップアップする GUI ビットがおそらく最も難しいでしょう)。
スクリプト プラグインを作成します (これが最も簡単で迅速な方法と言われていますが、私はそれを行ったことがないため、確かなことは言えません) -- を見てshare/codeblocks/scripts/sample_plugin.script
、それを適応できるかどうかを確認してください -- または、C++ で適切なプラグインを作成します。 .
編集: script plugin に関するいくつかのまばらなドキュメント。
たとえば、src/plugins/autosave/autosave.[h|cpp]
(最も原始的なプラグインの 1 つです) を見て、これがどのように行われるかを学んでください。このようなものが動作するはずです:
- からクラスを派生させ、
cbPlugin
すべての純粋な仮想を次のように実装します{}
(それらは必要ありません)。 namespace { PluginRegistrant<YourClassName> reg(_T("Readable Plugin Name")); }
ソースファイルにaを入れます- ブロック
EVT_COMMAND(cbEVT_COMPILER_STARTED...)
内に登録します。BEGIN_EVENT_TABLE/END_EVENT_TABLE
- イベント ハンドラーで、ダイアログをポップアップし、テキスト ボックスを読み上げ、必要な設定を変更します。コンパイラの設定を変更するか、イベントに含まれるプロジェクトへのポインターを使用して、プロジェクトの設定とターゲットに独自の設定でアクセスできるようにします。
- おそらく、変更を元に戻したいと思うでしょう。についても同じこと
cbEVT_COMPILER_FINISHED
を行い、元の設定を復元します
別の方法として、 cbProject::ShowOptions()
(結局、イベントは へのポインターを提供するcbProject
ので、それを使用しないでcbEVT_COMPILER_STARTED
ください) を受信したときに呼び出すこともできます。これにより、組み込みのオプション ダイアログが表示されます。