【问题标题】:"preprocess current file" addin for Visual Studio? (C++ )Visual Studio 的“预处理当前文件”插件? (C++)
【发布时间】:2010-03-22 10:04:26
【问题描述】:

我意识到 Visual Studio 有“/P”选项来生成预处理文件,但它非常不方便。 I'm looking for an addin that allows you to right-click on a file and select "view preprocessed" - or any similar solution that would basically preprocess the currently-open file (with the appropriate options from the current configuration) and show me输出,没有额外的麻烦。有这种事吗?

【问题讨论】:

标签: c++ visual-studio add-in


【解决方案1】:

使用外部工具菜单并没有真正优雅的方法,但这里有一个可行的解决方案:

  1. 为您的项目创建新配置。称它为“Debug-Preproc”之类的东西。在此配置中,为编译器设置 /P 开关。 (预处理,不编译。)

  2. 进入外部工具设置菜单。创建一个名为“预处理项目”的新项目。将选项设置为:

    • 命令:C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe
    • 参数:$(ProjectDir)$(ProjectFileName) /Build "Debug-Preproc|Win32"

您现在可以使用菜单上的“预处理项目”选项来针对当前选定项目中的所有源文件运行预处理器。它将为每一个生成[filename].i,您可以在文本编辑器中打开它。

如果需要,您可以创建一个额外的步骤来在文本编辑器中打开文件,方法是向您的编辑器添加一个新的外部工具来打开 $(ItemFileName).i

它不像能够右键单击文件并选择“预处理”那样干净或方便,但我认为这是最好的,您可以不用编写扩展程序。

【讨论】:

  • 不完全是我一直希望的解决方案,但我想它已经尽可能接近了,与其让赏金浪费我还不如分配给你。谢谢:)
  • 你知道,我刚刚想到——所有的编译器选项对于预处理器来说实际上是毫无意义的。在生成的输出中唯一重要的是预处理器页面本身的选项,其中大部分您可能不会更改。因此,如果您只是将外部工具设置为 CL /P 文件,您应该获得与使用我建议的方法构建项目相同的输出。
  • 不正确,我在命令行中有很多定义,还有包含目录的路径......我认为这很常见。
【解决方案2】:

在 UI 中,您可以配置“外部工具”(从工具菜单中)。您可以制作这样一个工具,使用当前文件和“/P”选项调用编译器,并将编译器输出到屏幕上。对于外部工具,将其配置为输出到输出窗口。

【讨论】:

  • 不是完美的解决方案,但可能有效;但是,如何配置这个外部工具以使用 Visual Studio 将使用的命令行,如果我要选择“编译文件”(并且只需添加 /P 到它)?
【解决方案3】:

Visual Macros Expander: - Visual Studio 的插件,它显示扩展的宏,甚至格式化结果。

【讨论】:

    【解决方案4】:

    您在 C++ 项目和外部构建工具中使用相同的方法编译 proc。您右键单击 proC 文件,如果在自定义构建设置(在 MS Visual Studio 中)中设置了编译器指令,它将显示输出,即 C/C++ 文件

    【讨论】:

    • 抱歉,我不太明白你的建议 :( 我说的是真正的 C++ 文件;我不能为它定义“自定义构建”——我不想改变方式我的项目构建,我只是在寻找一种方法来(更容易)检查预处理器的输出(在某些情况下,由于宏,编译器错误可能不是很容易弄清楚,实际上查看预处理器输出会有所帮助很多)。而且只是先发制人:我同意“过于复杂的宏”的论点,但这不是重点……这不是我想讨论的:)
    猜你喜欢
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 2021-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多