2009-04-14 26 views
33

Có công cụ giống như lint cho C# không? Tôi đã có trình biên dịch để gắn cờ cảnh báo-như-lỗi, và tôi đã có Stylecop, nhưng chúng chỉ bắt các lỗi nghiêm trọng nhất. Có bất kỳ công cụ nào khác phải có (đặc biệt là đối với những người mới sử dụng C# ers như tôi) mà chỉ ra những điều có lẽ câm tôi đang làm?Lint for C#

Trả lời

28

Đã thử FxCop? Nó tích hợp vào VS như "Phân tích Code"

Trong các phiên bản mới hơn của Visual Studio, nó được gọi là "Phân tích Microsoft Code" và có thể được tải về từ Visual Studio Marketplace: https://marketplace.visualstudio.com/items?itemName=VisualStudioPlatformTeam.MicrosoftCodeAnalysis2017

+0

Tôi không sử dụng VS nhưng kể từ khi bạn có 4 upvotes trong 17 phút nó có lẽ xứng đáng là một thử. Cài đặt nó ngay bây giờ, cảm ơn! – Ken

+4

Nó hoạt động mà không cần VS. Nhưng VS là một công cụ tuyệt vời để phát triển .NET. –

+1

Tôi nghĩ rằng sẽ rất khó để thuyết phục tôi rằng VS (mà tôi đã thử và không thích) tốt hơn Emacs + 15 năm tùy chỉnh. Nó có lẽ sẽ dễ dàng hơn để giúp tôi thay đổi bố trí bàn phím! – Ken

16

Resharper thực hiện một chút công bằng của phân tích tĩnh cũng như làm một tấn những thứ hữu ích khác. Vì phân tích version 8.0 có thể chạy ở chế độ dòng lệnh. Hiện tại tôi sẽ không viết mã trong C# nếu không có nó.

Cũng như FxCop, Gendarme là một công cụ khác để xem (đó là phiên bản FxCop của Mono nhưng chúng khác nhau về cách tiếp cận và các lỗi mà chúng thực sự tìm thấy).

0

Bạn có thể thử Net Reflector bởi Red-Gate, bạn có thể lấy nó từ here. Nhiều plugin hữu ích cho .Net Reflector có sẵn trên CodePlex mà bạn có thể lấy nó từ here.

+0

Tôi sử dụng Reflector tất cả các thời gian, nhưng AFAICT nó chỉ để kiểm tra mã biên dịch. Có một số mô-đun "cho tôi thấy những sai lầm ngu ngốc của tôi" tôi đang thiếu? – Ken

+0

Chúa tể có. Tôi không biết những gì bạn cần làm để bật nó (giống như, những gì bạn đã làm để tắt nó đi), nhưng đào cho nó, nó là tuyệt vời. –

+0

bây giờ mà Reflector là một sản phẩm thương mại, ILSpy là một lựa chọn nguồn mở tốt ... ít nhất là để kiểm tra và tháo gỡ, tôi không có ý tưởng nếu nó có cùng một loại công cụ phân tích – yoyo

0

Câu hỏi này đã có một câu trả lời, nhưng để tham khảo ...

Bạn có thể thử PVS-Studio. Đó không phải là miễn phí, nhưng, IMHO, phải có một. Trích dẫn từ trang web của họ:

PVS-Studio là công cụ dùng để phát hiện lỗi trong mã nguồn của chương trình được viết bằng C, C++ và C#.

PVS-Studio thực hiện phân tích mã tĩnh và tạo báo cáo giúp lập trình viên tìm và sửa lỗi. PVS-Studio thực hiện một loạt các kiểm tra mã; nhưng nó đặc biệt hữu ích để tìm kiếm các lỗi và các lỗi Sao chép-Dán.

Máy phân tích được thiết kế cho các nhà phát triển sử dụng Visual Studio.

+0

Thay vì đăng các liên kết như câu trả lời thêm một số văn bản để giải thích cách câu trả lời này giúp OP trong việc khắc phục vấn đề hiện tại. –

6

SonarLint (miễn phí, mã nguồn mở) khá ngọt ngào!

SonarLint cho Visual Studio được dựa trên và lợi ích từ việc NET Compiler Platform ("Roslyn") và phân tích mã API của nó để cung cấp trải nghiệm người dùng tích hợp đầy đủ trong Visual Studio 2015. SonarLint là miễn phí, mở nguồn, và có sẵn trong Visual Studio Gallery.

0

CSharp-Lint https://github.com/kevinphelps/csharp-lint là một cục CLI sử dụng Roslyn và StyleCop. Đó là lỗi thời, nhưng tôi đã có thể sửa đổi nó để làm cho nó hoạt động với nguyên tắc vim.