1

我希望能够在代码块中输入选项。就像我想做的那样gcc -P test.c。我该怎么做呢?基本上,我希望代码块在prompt box每次编译时都给出一个,以便我可以在该框中输入选项。该功能在代码块中可用吗?

4

1 回答 1

2

Code::Blocks 中没有您希望在更新答案中出现的行为。

但是,如果您花时间为此编写插件,您应该能够获得这种行为(应该不到一个小时,取决于您的 wxWidgets 技能,弹出对话框的 GUI 位可能是最难的事情)。

要么写一个脚本插件(据说这是最简单和最快的方法,虽然我从来没有这样做过,所以不能确定)——看看share/codeblocks/scripts/sample_plugin.script,看看你是否可以适应——或者用 C++ 写一个合适的插件.
编辑:脚本插件上的一些稀疏文档

例如查看src/plugins/autosave/autosave.[h|cpp](这是最原始的插件之一)以了解这是如何完成的。像这样的东西应该工作:

  • 从 派生一个类cbPlugin,将所有纯虚拟实现为{}(不需要它们)
  • 将 anamespace { PluginRegistrant<YourClassName> reg(_T("Readable Plugin Name")); }放入源文件
  • EVT_COMMAND(cbEVT_COMPILER_STARTED...)在您的街区内注册BEGIN_EVENT_TABLE/END_EVENT_TABLE
  • 在您的事件处理程序中,弹出对话框,读出文本框,然后修改您想要的任何设置。修改编译器的设置,或者使用事件中包含的指向项目的指针,这使您可以使用自己的设置访问项目设置和目标
  • 您可能也想撤消您的更改。做同样的事情cbEVT_COMPILER_FINISHED,恢复原始设置

或者,一个人可能只是在收到时调用cbProject::ShowOptions()(毕竟,该事件为您提供了一个指向 a 的指针cbProject,所以为什么不直接使用它)cbEVT_COMPILER_STARTED,这应该会调出内置选项对话框。

于 2012-10-19T10:04:22.037 回答