C#是企業中廣泛使用的程式設計語言,特别是那些依賴微軟的程式語言。如果您使用C#建構應用程式,則最有可能使用Visual Studio,并且已經尋找了一些擴充來對您的開發進行管理。但是,這個工具清單可能會改變您編寫C#代碼的方式。
C#程式設計的最佳工具有以下幾類:
- IDE
- VS擴充
- 編譯器、編輯器和序列化
- 反編譯和代碼轉換工具
- 建構自動化和合并工具
- 版本控制
- 測試工具和VS擴充
- 性能分析
- APM
- 部署自動化
- 容器
使用上面的連結直接跳轉到特定工具,或繼續閱讀以浏覽完整清單。
IDE
1. Visual Studio Code

Visual Studio Code是C#開發人員最受歡迎的代碼編輯器。您可以使用Visual Studio Code與C#擴充功能實作強大的編輯功能,并完全支援C# IntelliSense和調試。
主要特征:
- 優秀的自動完成與上下文感覺提示
- 内置Git內建,實作更好的版本控制
- 大量的擴充進一步增強平台
2. MonoDevelop
由Xamarin開發,MonoDevelop具有許多與VS Code相似的功能,也是跨平台的。使用MonoDevelop,您可以在Windows,Linux和Mac OS X上快速編寫桌面和Web應用程式。
主要特征:
- 标準功能,如代碼提示和調試
- 還配有Unity,一個遊戲引擎,可以為視訊遊戲等應用程式實作進階C#程式設計
- 支援C#代碼提示
- 代碼模闆和代碼折疊
- 多語言支援
3. SharpDevelop
一個用于C#、VB.net和Boo項目的免費開源IDE,#develop(SharpDevelop)是VS Code的輕量級替代品。
主要特征:
- Visual Studio提供的通常功能,包括代碼編輯,編譯和調試
- 一些進階功能包括上下文操作和背景文法檢查
4. Rider
Jet Brains産品套件中一個成員,Rider是基于IntelliJ平台和ReSharper的跨平台.NET IDE。
主要特征:
- 與其他JetBrains産品無縫內建
- 2000多種代碼檢查
- 上下文操作
- 支援Unity遊戲引擎
- 支援.NET Framework和.NET Core
Visual Studio 擴充
5. Productivity Power Tools 2017
由Microsoft提供,這是一個很好的擴充,以加快Visual Studio的開發。
主要特征:
- 中間點選滾動
- 快速查找
- 解決方案錯誤可視化
- 直覺的界面
- 其它版本可用于舊版Visual Studio版本
6. jQuery Code Snippets
簡化jQuery架構編碼,jQuery Code Snippets為Visual Studio 2012,2013,2015和2017提供了超過130個代碼段。
主要特征:
- 130多種jQuery代碼片段
- 支援所有版本的Visual Studio
- 對于那些剛入門jQuery開發人員來說非常棒,可以使用這個擴充來學習jQuery的門道
7. CodeMaid
CodeMaid是一個開源的VS擴充,可以幫助您清理和簡化除C#之外各種支援語言的代碼。
主要特征:
- 從代碼中删除不必要的字元,如空格
- 代碼整理
- 使用樹型結構視圖輕松浏覽代碼
- 支援多種語言
- 注釋格式
8. Refactoring Essentials
使用Refactoring Essentials,一個具有内置的C#和VB代碼轉換器的VS擴充,使您的C#代碼更容易閱讀和修複常見錯誤。
主要特征:
- 修複常見的錯字和編碼錯誤
- 在代碼庫中找到每種不比對的樣式
- 開源代碼,您可以擴充或改進它
編譯器、編輯器和序列化
9. SlickEdit
SlickEdit是一個代碼編輯工具,可以提高生産力并提高代碼品質。它是一個跨平台的代碼編輯器,可在九個平台上支援超過60種語言(包括C#)。
主要特征:
- 編譯并調試您的代碼,顯示所有錯誤以便行快速通路
- 可以處理非常大的代碼檔案,大到2TB
- 文法擴充和縮進
- 按鍵模拟
- 備份曆史記錄
- 多個光标和選擇
- 标準和專業版可用于滿足您的需求
10. Rextester
Rextester(代表正規表達式測試器)是C#的簡單線上編譯器。
主要特征:
- 每段代碼運作CPU時間最多為5秒
- 每段代碼最多可以占用150MB記憶體
- 代碼在應用程式域中運作,具有基本的執行、反射、線程控制和web權限
11. C# Pad
C# Pad是C#的一個友善的REPL工具。使用起來很簡單:輸入代碼,點選“Go”執行。
主要特征:
- 線上快速測試C#代碼
- 包括代碼自動完成
- 可嵌入其它網站
12. Jdoodle
另一個輕量級代碼編譯器,Jdoodle支援63種語言(包括C#),并允許您儲存程式并與其他人共享URL。您可以将Jdoodle中建立的代碼嵌入到您的網站,用于協作,線上通路等。
主要特征:
- 線上快速測試一小段代碼,而無需打開IDE
- 輕松地與他人分享您的代碼
- API即将推出
13. .NET Fiddle
C#的一個流行的調試工具,.NET Fiddle的靈感來自于JSFiddle.net,旨在快速,簡單的代碼測試,而無需打開Visual Studio并建立一個新的項目。
主要特征:
- 讓您編寫,儲存和協作C#代碼
- 支援4種項目類型:控制台,Script,MVC,Nancy
- 還支援VB.NET和F#
14. Telerik Fiddler
Telerik Fiddler允許您線上執行代碼。它提供了一系列功能,包括Web調試、Web會話操作、性能測試、安全測試等。
主要特征:
- 運作一系列測試,如性能測試、Web調試和安全測試
- FiddlerCore可讓您将Fiddler應用程式嵌入到您自己的應用程式中,以便您可以避免整個Fiddler UI,還可以獲得Fiddler的所有功能
15. Json.NET
Json.NET是一個流行的JSON架構。使用它,您可以在任何地方(Windows,Windows Store,Windows Phone,Mono和Xamarin)運作它時,建立、解析、查詢和修改JSON,在XML和JSON之間進行轉換。
主要特征:
- 對.NET對象進行序列化和反序列化
- 查詢JSON資料庫
- 使用JObject,JArray和JValue對象建立、解析、查詢和修改JSON
- 開源
16. Scriptcs
一個簡單的線上編輯器,編寫和執行C#代碼,Scriptcs被設計為非常簡單,以避免使用過于複雜的工具和解決方案阻礙您的工作效率。
主要特征:
- 避免完整IDE的臃腫
- 為您提供簡單的C#編碼任務的靈活性和速度
- 管理與NuGet的依賴關系
- 優雅的C#腳本文法
反編譯和代碼轉換工具
17. dotPeek
dotPeek允許您将.NET程式集反編譯為C#。dotBeek是JetBrains提供的免費獨立工具,基于ReSharper捆綁的反編譯器。
主要特征:
- 強大的搜尋和導航功能
- 将任何.NET程式集解碼為等效的C#或IL代碼
- 支援多種格式(.dll、.exe、.winmd)
- 将反編譯的程式集儲存為Visual Studio項目
18. Ilspy
基于Red Gate的.NET Reflector開源反編譯器,在2011年停止維護,Ilspy需要.NET Framework 4.0。
主要特征:
- 浏覽程式集并将其反編譯為C#
- 将程式集儲存為C#項目
- 直覺的搜尋和導航功能
- 導航曆史
- 支援C#5.0 “async”
- 反編譯為VB和C#
19. JustDecompile
一個來自Telerik的反編譯器,JustDecompile是一個免費的開源反編譯引擎。
主要特征:
- 可擴充的開放API
- 快速代碼導航
- 輕松地在标簽頁中切換方法和程式集
- 在加載程式集中使用書簽
- 從反編譯的程式集建立一個Visual Studio項目
- Visual Studio擴充在VS項目中進行反編譯
20. Telerik Code Converter
Telerik代碼轉換器将VB代碼轉換為C#,反之亦然。一個簡單而強大的工具,Telerik代碼轉換器易于使用,具有直覺的界面。
主要特征:
- 基于雲的轉換,快速和輕松的
- 使用NRefactory庫進行複雜的代碼轉換
- 使用ASP.NET AJAX的Telerik UI
建構自動化和合并工具
21. Cake Build
Cake(C#Make)是C#版的開源Make Build自動化工具。一個跨平台建構自動化系統,Cake使用C# DSL來編寫代碼,運作單元測試,複制檔案和檔案夾,壓縮檔案和建構NuGet軟體包等任務。
主要特征:
- 在Windows,Linux和OS X上可用
- 建立與其他CI系統相同的方式
- 支援建構工具,包括MSBuild,MSTest,xUnit,NUnit,NuGet,ILMerge,WiX和SignTool
- 高可擴充
22. MSBuild
MSBuild是由Microsoft于2008年推出的。它不是Visual Studio平台的一部分,但它是您的C#開發工具包的一個很好的資源,例如在您建構代碼項目時,除了解決方案之外。
主要特征:
- 來自微軟,它被許多MS商店廣泛使用
- 微軟把它放到了Visual Studio中確定它不會成單獨存
- 建構多個項目
- 建構Win32,x86,x64或任何cpu平台
- 為多個平台建構多個配置
23. FinalBuilder
FinalBuilder是建構自動化工具的一個很好的商業選擇。使用FinalBuilder,您不需要編輯XML或編寫腳本來自動完成建構過程。
主要特征:
- 通過包括可視化調試,使建構變得容易
- 可視地定義和調試建構腳本
- 使用Windows排程程式安排腳本
- 與Continua CI,Jenkins或任何其它CI伺服器內建
24. SemanticMerge
SemanticMerge分析您的代碼,旨在處理已被移動或修改的代碼,使其成為團隊協作的強大工具。
主要特征:
- 實作協作和分布式開發
- 從結構合并開始,然後在發生沖突時移動到更具體的基于文本的合并
- 基于結構而不是位置合并
- 處理特定于語言的沖突
- 避免錯誤地識别自動合并
- 保持清潔的代碼并分析更改
版本控制
25. Git
Git就不需要介紹了。這是一個免費的開源版本控制系統,也是當今最流行的版本控制系統。
主要特征:
- 現代版本控制工具,适用于當今地理位置分布的團隊
- 包括強大的預設值,用于解決沖突,自動恢複等
- 便宜的本地分支
- 友善的暫存區
- 多個工作流程
26. Team Foundation Version Control
TFS版本控制是Microsoft替代Git的一種,它內建到Visual Studio中。它是企業準備的,是以對于使用VS項目的任何規模的團隊來說,這是一個不錯的選擇。
主要特征:
- 利用Visual Studio功能提供本地體驗
- 跟蹤分支機構的代碼更改
- 在代碼簽入之前提供回報
- 內建最流行的CI和自動化建構工具
27. BitBucket
BitBucket是Jira的Git替代品,也是一個有能力的版本控制工具——“唯一一個大規模的協作的Git解決方案。”
主要特征:
- 使用内聯注釋選項更快地協作
- 由于代碼是開源的,還是讓Jira為您管理代碼
- 拉請求允許更有效的代碼審查準許
- 使用BitBucket資料中心進行不間斷的通路
- 無限私有存儲庫
28. SourceTree
SourceTree是另一個Jira産品,一個用于Windows和Mac的免費Git用戶端,具有簡單的Git GUI來管理您的倉庫。
主要特征:
- 支援Windows和Mac
- 與您的存儲庫進行視覺互動
- 簡化分布式版本控制
- 對初學者來說足夠簡單 足夠強大的專家
測試工具和VS擴充
29. LINQPad
一個用于即時測試C#,F#和VB中的代碼片段的工具,LINQPad可以讓您以互動方式查詢資料庫。
主要特征:
- 有自己的查詢語言 - LINQ,這是一個強大的查詢資料庫的方法
- 非常适合學習C#,因為它為您提供了IDE的許多功能,而不臃腫
- 在LINQ(或SQL) - SQL/CE/Azure、Oracle、SQLite和MySQL中查詢資料庫
- 豐富的輸出格式
- 腳本并以您首選的.NET語言自動化
30. Selenium
Selenium是目前最流行的測試工具之一。它可以自動化Web浏覽器,以便您可以在規模和精度上運作測試。
主要特征:
- 自動化的基于Web的管理任務
- 建立強大的回歸自動化套件和測試
- 跨環境和腳本分發
- 建構您自己的Selenium伺服器或使用供應商提供的托管選項
31. ReSharper
由JetBrains建立的,ReSharper是.NET開發人員的Visual Studio擴充。使用它來即時分析代碼品質,消除錯誤,安全地更改代碼庫等。
主要特征:
- 提供即時代碼分析
- 快速修複錯誤
- 幫助複雜重構
- 多個代碼編輯助手
32. OzCode
OzCode是C#的Visual Studio擴充,提供強大的調試工具,是以您可以花更多的時間開發和更少的時間調試。
主要特征:
- 使Visual Studio中更容易找到并修複錯誤
- 與ReSharper合作
- 用Magic Glance來繪制出複雜的表達式
- 強大的搜尋,顯示和比較功能
33. CodeRush
CodeRush可以幫助您輕松找到并修複問題,像本節中的其它測試工具一樣,是一個VS擴充。
主要特征:
- 視覺突出顯示代碼庫中的問題,并幫助您快速發現問題
- 快速建立新的測試和測試套件與快捷方式
- 容易重構
性能分析
34. Prefix
一個用于.NET和Java的輕量級開發工具,Prefix會實時顯示日志、錯誤、查詢等。它可以在您現有的工作站内使用 - 它是免費的。
主要特征:
- 提供每個Web請求的詳細跟蹤
- 沒有淩亂的配置或代碼更改
- 立即下載下傳; 立即獲得代碼分析結果
- 按要求檢視日志
- 查找隐藏的異常
- 檢視SQL查詢
- 快速找出可疑行為
35. dotTrace
來自JetBrains,dotTrace是一個分析器,可幫助排除性能問題并加快應用程式的速度。
主要特征:
- 了解SQL查詢和HTTP請求如何影響應用程式性能
- 檢視逐行剖析資料并擷取特定的績效名額
- 擷取調用執行時間的資料
- 配置檔案SQL查詢和HTTP請求
- 簡介靜态方法和單元測試
- 在Visual Studio中配置和可視化結果
36. ANTS Performance Profiler
ANTS性能分析器是.NET代碼的分析工具,包括提供逐行分析統計資訊。
主要特征:
- 檢視SQL查詢和HTTP請求的性能資料
- 提供逐行結果
- 顯示曆史性的表現
- 深入了解長期分析結果
37.N Profiler
一個分析工具聲稱比任何其教育訓練分析器更快,N Profiler提供豐富的.NET性能資料,可以節省90%的優化時間。
主要特征:
- 了解性能問題的真實原因 - 資料庫查詢或I/O時間
- 性能名額組織在調用樹中,可以在概述或細節級别檢視
APM
38. Retrace
Retrace是唯一将APM、日志、錯誤、名額和監控結合在一個平台上的開發者工具,可幫助您更好地建構。它專為生産和預生産伺服器而設計,每月隻需10美元。
主要特征:
- 在代碼級收集性能資料
- 應用程式和伺服器記錄
- 各種來源的應用名額
- 錯誤跟蹤和監控
- 與現有堆棧一起工作
- 免費試用
部署自動化
39. Octopus
C#主要部署自動化工具,這使得自動化複雜的應用程式部署成為可能。
主要特征:
- 提供和配置新機器來部署您的應用程式
- 與CI伺服器內建,将建構自動化和CI程序擴充到部署中
- 精簡各環境之間的版本
- 可重複,可靠的部署
40. Appveyor
一個CI建構伺服器,不僅可以處理建構,而且還可以進行部署,Appveyor非常強大,安全,并且無需設定即可開始使用。
主要特征:
- 用于建構,測試和部署端到端解決方案
- 易于使用,無需設定
- 隔離建構環境
- 使用UI或YAML的開發人員友好的建構配置
- 内置部署和NuGet伺服器
- 多分支建構
41.AppHarbor
AppHarbor不僅僅是部署:它是一個完全托管的.NET 平台服務。它用于托管從個人部落格到高流量網絡應用程式的所有内容。
主要特征:
- 從源代碼存儲庫擷取代碼,并将其部署在自己的托管平台上
- 使用您最喜歡的版本控制工具即時部署和擴充.NET應用程式
- 不用擔心擴充您的基礎架構來跟上負載,AppHarbor會為您處理這一切
42. Jenkins
Jenkins不僅僅是部署自動化工具,也是最受歡迎的CI伺服器,它将其覆寫面擴充到部署和傳遞階段。
主要特征:
- 豐富的收集擴充,以适應每個堆棧
- 從建構到部署的端到端解決方案
- 數以百計的插件來支援建構,部署和自動化
容器
43. Docker.DotNet
Docker.DotNet是Docker API的C#用戶端庫。通過它,您可以通過程式設計方式與Docker Remote API進行互動。
主要特征:
- 可以通過Visual Studio的NuGet庫管理器進行安裝
- 在.NET中啟用完全異步,非阻塞,面向對象的代碼
44. Distelli
一個強大的工具來集中化C#應用程式,Distelli幫助您從頭到尾自動化您的容器工作流程。有關如何使用Distelli建構和部署C#應用程式,請參閱此有用的教程 。本教程提供了建構和部署Docker C#應用程式的分步說明。
主要特征:
- 使用Distelli自動化您的容器工作流端到端
- 部署到Kubernetes,用于最先進的容器編排
C#和.NET Core 将在2018年及以後的得到巨大的發展,磨練C#技能将在未來幾年内為您服務。我們希望您已經找到了一兩種可以使用的工具,并提高了C#開發的品質和生産力。如果有什麼工具我們遺漏了,請告訴我們,這個工具應該在這個工具包中有一席之地。
原文:《The Ultimate List of C# Tools: IDEs, Profilers, Automation Tools, and More》https://stackify.com/best-csharp-tools/
翻譯:Sweet Tang
本文位址:http://www.cnblogs.com/tdfblog/p/best-csharp-tools.html
歡迎轉載,請在明顯位置給出出處及連結。