2010-10-09 53 views
4

在VS中工作時,底部面板中的錯誤消息是編譯器錯誤和警告,對不對?這是否意味着應用程序正在被編譯?我希望這些僅在嘗試運行應用程序時纔會顯示。Visual Studio是否不斷編譯?

這可能是一個愚蠢的問題,但我找不到答案。

+0

您是否在談論狀態欄中的「Intellisense」消息? – Max 2013-08-14 19:45:49

回答

0

當您編譯應用程序時,可能會出現錯誤和警告,這些錯誤和警告將顯示在錯誤窗口中。當您運行應用程序時,錯誤將不再顯示在Visual Studio中,但取決於應用程序的組織方式,它會崩潰或正常處理它們。另請注意,如果您嘗試使用F5或Ctrl + F5運行應用程序,Visual Studio將嘗試首先編譯它,如果出現編譯時錯誤和警告,它們將顯示。

+1

我知道..但是在編寫代碼時顯示它,不僅在運行它之後。 – Leberian 2010-10-09 08:01:53

+0

代碼編輯器可能會在您的源代碼打字時強調其中的錯誤,因爲它會不斷對其進行分析。 – 2010-10-09 08:03:36

7

Visual Studio不斷解析源代碼;這允許它在實際編譯源代碼之前預先報告一些錯誤。

這當然取決於您使用的是哪種語言。 C++沒有得到搶佔錯誤報告,直到Visual Studio 2010中

+0

謝謝。我知道它解析代碼,但我不確定其他事物是否像錯誤的類型錯誤不是編譯的結果 – Leberian 2010-10-09 08:02:58

+0

@Leberian:好的,在源文件被解析後,執行基本的語義分析來檢查這樣的錯誤。我不知道所有的檢查。儘管如此,它不是從源代碼到二進制文件的完整編譯。 – 2010-10-09 08:04:20

2

每種編程語言是不同的(每個提供特定於提供反饋該語言的Visual Studio的語言服務'),但在大多數情況下,是的,它正在被反覆編譯。例如,在F#中,編譯器分爲幾個階段,主要是lexer/parser,typechecker和代碼生成器,而lexer/parser/typechecker在VS中運行,並且每次在文件中鍵入一個字符該文件將通過編譯器的這些階段重新運行。

3

Visual Studio本身不會持續編譯代碼。

但是,我剛剛下載了這個名爲.Net Demon的小應用程序的14天試用版,它是Visual Studio的一個插件。它花費30美元,但如果你有很多項目的大型解決方案,絕對是一個漂亮的工具。

http://www.red-gate.com/products/dotnet-development/dotnet-demon/

我可能會最終打破,併購買它,這是非常漂亮的。