用Roslyn項目分析代碼

fmms 12年前發布 | 11K 次閱讀 Roslyn

微軟這個月在 Redmond 召開了 Lang.NEXT 大會,會上有一個演講,演示了 Roslyn 項目這個代碼分析工具。Dustin Campbell 的演講“更深入了解 Roslyn 項目”對它做了介紹,并以一個示例項目代碼的構建作為結束。

Roslyn 框架并沒有打算用來作為可定制的編譯器,它的目的是將 C# 和 Visual Basic 的使用盡可能最大化。這兩個語言的編譯器都已經全部重新編寫,這樣 Roslyn 的 C# 編譯器用 C# 開發,Roslyn 的 VB 編譯器用 VB 開發。Campbell 發現:這讓原來的編輯器中很多不合理的地方和 bug 都有機會修正。

Roslyn 的設計特性包括:

  • 不可變:對象不能改變,要想改變,只能在原來版本上創建新對象。
  • 完整:源代碼重新表示,包括空格、注釋、錯誤等等。
  • 彈性:用容錯來處理錯誤。比如:失敗的代碼上幾乎總是會做到完成語句,這樣讓分析器必須可以處理。
  • 高效:項目在構建快照上體現了效率,而且能夠增量分析代碼。

當 Roslyn 環境打開后,存在兩個活躍的工作空間實例。第一個是傳統工作空間,存留現在加載的 VS 解決方案。另一個實例是交互窗口(REPL)。這種分離有助于語句完成,并讓 IntelliSense 在開發環境中的代碼提示更為正確。

Campbell 指出:Roslyn 在10月份會以 Beta 版本提供,發布版本代碼(1.0)不會與 Visual Studio 11 一同交付。實際上,它會作為未來 VS 的一部分發布。盡管 Campbell 沒有明確說明:考慮到 Beta 版本支持 VS2010,看來微軟會將其獨立于正式的 VS 發布進行部署。

查看英文原文:Code Analysis with Project Roslyn

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!