2012-10-18 60 views
1

我希望能夠在代碼塊中輸入選項。就像我想做的gcc -P test.c。我應該如何去做這件事?基本上,我希望Code Blocks在每次編譯時給出一個prompt box,以便我可以在該框中輸入選項。代碼塊中是否提供了該功能?代碼塊中的編譯選項

+0

不確定要讀取哪些內容作爲答案,除了「單擊_settings_菜單並選擇_compiler_」。這不適合你嗎? – Damon

+0

否@Damon,這不起作用。我編輯了這個問題。現在檢查。 –

回答

2

在更新後的答案中所需的行爲在Code :: Blocks中不可用。

但是,如果您花時間爲該插件編寫插件(應該在一小時之內,取決於您的wxWidgets技能,GUI位彈出對話框可能會是最難的事情)。

要麼寫一個腳本插件(據說這是最簡單最快捷的方式,儘管我從來沒有這樣做過,所以無法確定) - 看看share/codeblocks/scripts/sample_plugin.script,看看你是否可以修改它 - 或寫一個正確的C++插件。
編輯:some sparse docs on script plugin

src/plugins/autosave/autosave.[h|cpp](這是最原始的插件之一)爲例,瞭解如何完成此操作。像這樣的東西應該工作:

  • cbPlugin派生類,實現所有純虛爲{}(不需要他們)
  • 將一個namespace { PluginRegistrant<YourClassName> reg(_T("Readable Plugin Name")); }到源文件
  • 註冊EVT_COMMAND(cbEVT_COMPILER_STARTED...)裏面你BEGIN_EVENT_TABLE/END_EVENT_TABLE塊。
  • 在您的事件處理程序中,彈出對話框,讀出文本框並修改所需的任何設置。請修改編譯器的設置,或者使用指向項目中包含的項目的指針,從而使您可以使用自己的設置訪問項目設置和目標。
  • 您可能還想撤消更改。所以,做同樣爲cbEVT_COMPILER_FINISHED,恢復出廠設置

另外,一個很可能只是調用cbProject::ShowOptions()(畢竟,該事件爲您提供了一個指向cbProject,那麼爲什麼不直接使用)當收到cbEVT_COMPILER_STARTED ,這應該調出內置選項對話框。

+0

非常感謝@Damon。這是我正在尋找的。 –