2015-01-04 16 views
65

Tạo một đồng bằng C# điều khiển ứng dụng trong Visual Studio 2015 Preview, chúng tôi nhận được một tham chiếu giả mang tên "phân tích":Visual Studio 2015 - Tham chiếu "Trình phân tích" có nghĩa là gì?


Expanded Solution Explorer project "References" showing "Analyzers" entry

nào "phân tích" tài liệu tham khảo ngay trên nghĩa là gì?

Tệp dự án không có gì bên trong và cửa sổ thuộc tính không hiển thị gì (hoàn toàn trống) về mục nhập này (mặc dù, trái ngược với "thuộc tính tham chiếu")).

Tôi cho rằng điều này có liên quan đến Roslyn, nhưng tôi không biết. Tôi đã cài đặt ReSharper, nhưng tôi không cho rằng nó có liên quan đến nó.

Sửa 6.8.2016

Câu trả lời được chấp nhận giải thích các dụng cụ được cung cấp bởi máy phân tích, nhưng lá mở lý do tại sao một công cụ phát triển trở thành một (runtime?) Tham khảo. Trên thực tế nó không phải là một tài liệu tham khảo thời gian chạy, không giống như các tài liệu tham khảo khác. Vì vậy, câu trả lời cho phép lạ này là bình luận của Hans Passants dưới đây:

Họ chọn một nơi vụng về để thêm tính năng phân tích mã, họ không thể tìm được nơi tốt hơn mà không sửa chữa mạnh mẽ trình thám hiểm và nuget. - Hans passant 26 Tháng 5 '15 tại 08:59

+2

FWIW, I * don't * có cài đặt ReSharper [yet] trong máy xem trước VS2015 của tôi và tôi cũng thấy tham chiếu "Phân tích". –

+0

Ngăn thuộc tính hiển thị khi nào Trình phân tích được chọn? – DLeh

+3

[Dưới đây là ví dụ về các Máy phân tích có thứ thú vị trong đó] (https://github.com/aspnet/Home/issues/196) – Rawling

Trả lời

52

Sống Mã phân tích được sử dụng để thêm các thông báo lỗi tùy chỉnh và cảnh báo xuất hiện trực tiếp khi bạn đang gõ, cùng với mã tự động sửa chữa để giúp bạn làm sạch chúng lên. Chúng có sẵn dưới dạng các gói NuGet mà bạn thêm vào các dự án của mình trong Visual Studio 2015.

Đây là một trong những tính năng quan trọng và hữu ích mới của Visual Studio 2015 cho phép gói NuGet bật cảnh báo và lỗi tùy chỉnh trong trình chỉnh sửa trực tiếp khi bạn nhập mã, với các bản sửa lỗi tự động có thể làm sạch các vấn đề đó cho chúng tôi.

Các gói thậm chí có thể được nhóm lại với nhau thành một "thư viện nhận biết mã" để lấy cả API và các trình phân tích theo miền cụ thể để đảm bảo rằng bạn luôn luôn sử dụng nó.

Chúng tôi sẽ có hướng dẫn được nhắm mục tiêu từ thời điểm chúng tôi tải xuống gói NuGet. Và bởi vì những máy phân tích này là một phần của dự án của chúng tôi, tất cả mọi người trong nhóm của bạn đều có cùng cảnh báo.

Sửa 1:

Máy phân tích đã quy định gắn liền với chúng như dưới đây:

enter image description here

Những quy định này tập trung vào những vấn đề quan trọng nhất trong mã của bạn, bao gồm an ninh tiềm năng lỗ hổng, lỗi ứng dụng và các lỗi thiết kế và logic quan trọng khác . Bạn nên bao gồm quy tắc này được đặt trong bất kỳ bộ quy tắc tùy chỉnh nào bạn tạo cho dự án của mình.

+3

tôi đánh giá cao cho đầu vào của bạn, nhưng câu hỏi vẫn còn mở: tại sao tham chiếu (assembly?). chúng tôi có phân tích mã kể từ 10 năm và không bao giờ có một tham chiếu. đọc thêm câu hỏi của tôi ở trên: tại sao một tham chiếu ngay cả khi tôi không tải xuống gói nuget nào? – citykid

+0

@citykid ..Nếu bạn chú ý cẩn thận khi nhấp chuột phải vào máy phân tích, bạn có thể thấy các gói Quản lý NuGet, nhưng chúng tôi chưa cài đặt gói NuGet tại sao nó xuất hiện? .. Cảm ơn – tharif

+2

Nó trở nên rõ ràng hơn, vì vậy nút Phân tích là một thư mục cho máy phân tích. Tôi không thấy bất cứ điều gì với NuGet, các mục trong menu ngữ cảnh là "thêm phân tích" và "Mở ruleset đang hoạt động". Khi Thêm phân tích, tôi có thể duyệt các hội đồng. – citykid

16

Hiện nay có một số phân tích tốt có sẵn - Microsoft.AnalyzerPowerPack, Mã Cracker, CSharp Essentials, SonarLint vv

Mỗi máy phân tích có bộ quy tắc riêng của họ, vì vậy chúng tôi có thể quyết định phân tích thêm , dựa trên yêu cầu của chúng tôi. Sau khi cài đặt qua Nuget, các bóng đèn và hành động nhanh trong VS2015 sẽ nhận được bộ quy tắc liên quan và cung cấp cho nhà phát triển hỗ trợ mã hóa khi đang bay.

Các vấn đề liên quan