我意識到Visual Studio有「/ P」選項來生成預處理文件,但這非常不方便。我正在尋找一個插件,允許您右鍵單擊文件並選擇「查看預處理」 - 或者基本上預處理當前打開文件的任何類似解決方案(使用當前配置中的相應選項)並顯示給我輸出,沒有額外的麻煩。這樣的事情存在嗎?「預處理當前文件」插件的Visual Studio? (C++)
回答
有沒有真正優雅的方式使用外部工具菜單,但這裏有一個可行的解決方案:
爲您的項目創建一個新配置。稱之爲「調試預處理」。在此配置中,爲編譯器設置/ P開關。 (預處理,不編譯)
轉到外部工具設置菜單。創建一個名爲「預處理項目」的新項目。設置選項:
- 命令:
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe
- 參數:
$(ProjectDir)$(ProjectFileName) /Build "Debug-Preproc|Win32"
- 命令:
現在,您可以使用「預處理項目」選項,在菜單上運行鍼對所有源文件的預處理器在當前選定的項目中。它會爲每個文件生成[filename].i
,您可以在文本編輯器中打開它。
如果需要,您可以創建額外的步驟,在文本編輯器中打開文件,方法是向編輯器添加一個新的外部工具以打開$(ItemFileName).i
。
它不像簡單的右鍵單擊文件並選擇「預處理」一樣乾淨或方便,但我認爲這是您寫作擴展的最佳方式。
不是我一直希望的解決方案,但我猜它已經儘可能地接近了,而不是讓這些賞金浪費,我也可以把它分配給你。謝謝:) – Virgil 2010-03-31 06:22:44
你知道,它發生在我身上 - 所有的編譯器選項對於預處理器來說實際上是毫無意義的。在生成的輸出中唯一重要的是預處理器頁面本身的選項,其中大部分可能沒有改變。所以如果你只是將外部工具設置爲CL/P文件,那麼你應該得到相同的輸出,就像使用我建議的方法構建項目一樣。 – 2010-03-31 07:10:03
不是這樣的,我在命令行中定義了很多定義,也包含include目錄的路徑......我認爲這很常見。 – Virgil 2010-04-01 07:12:41
在UI中,您可以配置一個「外部工具」(從工具菜單中)。您可以製作一個工具,用當前文件和「/ P」選項調用編譯器,並將編譯器輸出到屏幕上。對於外部工具,將其配置爲輸出到輸出窗口。
不是完美的解決方案,但可能有效;但是,如果我選擇「編譯文件」(並且只是添加/ P),如何配置此外部工具以使用Visual Studio將使用的命令行? – Virgil 2010-03-23 10:47:55
您可以在C++項目和外部構建工具中使用相同的方法編譯proc。你右鍵單擊proC文件,如果編譯器指令設置在自定義生成設置(在MS Visual Studio中)它會顯示你輸出即C/C++文件
對不起,我不太瞭解你的建議:( 我在說真正的C++文件;我無法爲它定義一個「自定義構建」 - 我不想改變我的項目構建方式, (只是尋找一種方法來更容易地檢查預處理器的輸出(在某些情況下,由於宏,編譯器錯誤可能不是很微不足道,實際上預處理器輸出實際上看起來很有幫助)。 只是先發制人:我同意「過於複雜的宏」的論點,但這不是重點......這不是我想要討論的:) – Virgil 2010-03-23 10:45:30
- 1. Visual Studio插件:附加當前VS實例來處理
- 2. Visual Studio 2010插件顯示當前文件的EOL樣式
- 3. 使用批處理文件在當前文件夾中運行visual studio代碼
- 4. Visual Studio插件來突出顯示當前源文件
- 5. 如何在Visual Studio中預處理後看到C/C++源文件?
- 6. Visual Studio的C#文檔插件
- 7. 處理Visual Studio 2010事件
- 8. 事件處理 - Visual Studio
- 9. 爲什麼Visual Studio將我的.cfg文件當作xml處理?
- 10. Visual C#添加批處理文件
- 11. 的Visual Studio預生成事件:批處理文件退出代碼爲-1
- 12. Visual Studio的預建事件
- 13. C/C++的ReSharper/StyleCop-like Visual Studio插件
- 14. Visual Studio 2008的預處理器wierdness
- 15. c#插件事件處理
- 16. Visual Studio:插件配置文件
- 17. 是否有Visual Studio 2010文件預覽選項卡插件?
- 18. 如何在Visual Studio中自動插入預處理器和註釋塊到新的C++頭文件中?
- 19. 在Visual Studio中處理可執行文件C#
- 20. 在Visual Studio插件中顯示當前的方法/塊/區域
- 21. 在Visual Studio插件中獲取當前的TFS連接
- 22. 使用Perl來預處理C文件
- 23. 當usb插入時運行文件的批處理文件
- 24. 預編譯頭文件和Visual Studio
- 25. 前處理文件
- 26. 多個當前請求到文件系統文件夾處理文件C#XML
- 27. SonarQube的Visual Studio 2013 C++插件
- 28. 支持Twain的Visual Studio C++ NPAPI插件
- 29. C++的Visual Studio 2010評論插件
- 30. C++文件 - MS Visual Studio
我創建了一個宏來做到這一點。 請參閱http://stackoverflow.com/questions/14257113/vs-addin-for-quickly-viewing-preprocessed-or-assembly-output。 – Trass3r 2013-04-10 11:18:48