2010-03-22 45 views
7

我意識到Visual Studio有「/ P」選項來生成預處理文件,但這非常不方便。我正在尋找一個插件,允許您右鍵單擊文件並選擇「查看預處理」 - 或者基本上預處理當前打開文件的任何類似解決方案(使用當前配置中的相應選項)並顯示給我輸出,沒有額外的麻煩。這樣的事情存在嗎?「預處理當前文件」插件的Visual Studio? (C++)

+0

我創建了一個宏來做到這一點。 請參閱http://stackoverflow.com/questions/14257113/vs-addin-for-quickly-viewing-preprocessed-or-assembly-output。 – Trass3r 2013-04-10 11:18:48

回答

3

有沒有真正優雅的方式使用外部工具菜單,但這裏有一個可行的解決方案:

  1. 爲您的項目創建一個新配置。稱之爲「調試預處理」。在此配置中,爲編譯器設置/ P開關。 (預處理,不編譯)

  2. 轉到外部工具設置菜單。創建一個名爲「預處理項目」的新項目。設置選項:

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

現在,您可以使用「預處理項目」選項,在菜單上運行鍼對所有源文件的預處理器在當前選定的項目中。它會爲每個文件生成[filename].i,您可以在文本編輯器中打開它。

如果需要,您可以創建額外的步驟,在文本編輯器中打開文件,方法是向編輯器添加一個新的外部工具以打開$(ItemFileName).i

它不像簡單的右鍵單擊文件並選擇「預處理」一樣乾淨或方便,但我認爲這是您寫作擴展的最佳方式。

+0

不是我一直希望的解決方案,但我猜它已經儘可能地接近了,而不是讓這些賞金浪費,我也可以把它分配給你。謝謝:) – Virgil 2010-03-31 06:22:44

+0

你知道,它發生在我身上 - 所有的編譯器選項對於預處理器來說實際上是毫無意義的。在生成的輸出中唯一重要的是預處理器頁面本身的選項,其中大部分可能沒有改變。所以如果你只是將外部工具設置爲CL/P文件,那麼你應該得到相同的輸出,就像使用我建議的方法構建項目一樣。 – 2010-03-31 07:10:03

+0

不是這樣的,我在命令行中定義了很多定義,也包含include目錄的路徑......我認爲這很常見。 – Virgil 2010-04-01 07:12:41

2

在UI中,您可以配置一個「外部工具」(從工具菜單中)。您可以製作一個工具,用當前文件和「/ P」選項調用編譯器,並將編譯器輸出到屏幕上。對於外部工具,將其配置爲輸出到輸出窗口。

+0

不是完美的解決方案,但可能有效;但是,如果我選擇「編譯文件」(並且只是添加/ P),如何配置此外部工具以使用Visual Studio將使用的命令行? – Virgil 2010-03-23 10:47:55

0

您可以在C++項目和外部構建工具中使用相同的方法編譯proc。你右鍵單擊proC文件,如果編譯器指令設置在自定義生成設置(在MS Visual Studio中)它會顯示你輸出即C/C++文件

+0

對不起,我不太瞭解你的建議:( 我在說真正的C++文件;我無法爲它定義一個「自定義構建」 - 我不想改變我的項目構建方式, (只是尋找一種方法來更容易地檢查預處理器的輸出(在某些情況下,由於宏,編譯器錯誤可能不是很微不足道,實際上預處理器輸出實際上看起來很有幫助)。 只是先發制人:我同意「過於複雜的宏」的論點,但這不是重點......這不是我想要討論的:) – Virgil 2010-03-23 10:45:30

1

視覺宏Expander: - 用於visual studio的插件,它顯示擴展的宏,甚至格式化結果。

+0

似乎被打倒了。 – Trass3r 2013-04-10 11:15:44