Trong thiết lập với Visual Studio 2012 Update 2 và ReSharper 7.1.1, tệp này Annotations.cs
được tạo khi tạo dự án mới. Tôi không thể tìm thấy bất kỳ bài viết mô tả lý do tại sao ReSharper làm điều đó và nếu nó có thể vô hiệu hóa điều này. Tôi nghĩ ReSharper là một sự nâng cao của IDE - và tôi không mong đợi ReSharper sẽ thêm các dự án của tôi vào sau lưng tôi.ReSharper tạo tệp này: Annotations.cs. Tại sao?
Trả lời
Tệp này chứa các định nghĩa cho chú thích mã ReSharper.
Kiểm tra mã amd nhiều tính năng ReSharper khác chủ yếu dựa vào phân tích heuristic của mã nguồn để phát hiện sự cố, đề xuất cải tiến có thể và giúp bạn theo những cách khác.
Tuy nhiên, phân tích heuristic không thể phát hiện mọi thứ. Ví dụ, nếu một phương thức được thiết kế để không bao giờ trả về null và các máy khách của nó được thiết kế tương ứng, thì không có phân tích heuristic nào có thể giúp tìm ra vấn đề có thể nếu ai đó thay đổi phương thức trả về null.
Trong trường hợp này và rất nhiều trường hợp khác, Khung chú thích là một trợ giúp tuyệt vời. Bằng cách sử dụng các thuộc tính khai báo trong khuôn khổ này, bạn có thể làm cho ReSharper phân tích mã theo cách bạn cần nó:
[NotNull]
public object Foo()
{
return null; // Warning: Possible 'null' assignment
}
Đây là một ví dụ đơn giản nhất, có những thuộc tính hữu ích khác với trường hợp sử dụng phức tạp hơn trong khung chú thích . Bạn có thể tìm danh sách đầy đủ các thuộc tính này trong Tham chiếu.
Xem http://www.jetbrains.com/resharper/webhelp/Code_Analysis__Code_Annotations.html để biết thêm thông tin.
- 1. Tại sao Visual Studio tạo các tệp bổ sung này?
- 2. Tại sao ReSharper lại phàn nàn về việc sử dụng ResourceLoader.GetString này?
- 3. Tại sao Resharper nghĩ rằng những enums này không bao giờ được sử dụng?
- 4. tại sao mã này khóa tệp của tôi?
- 5. Tại sao không setLastModified (time) làm việc cho Tệp này?
- 6. Tại sao Visual Studio (2008) tạo tất cả các tệp * .vsmdi này
- 7. Tại sao tệp này "ProjectName_TemporaryKey.pfx" được tạo trong dự án của tôi?
- 8. Tại sao coffeescript tạo ra các lớp như thế này?
- 9. Tại sao trình biên dịch tạo mã này?
- 10. Tại sao mã SQL này không tạo ra lỗi?
- 11. Tại sao bạn không tạo đối tượng này? C++
- 12. Tại sao điều này không tạo liên kết?
- 13. Tại sao trình biên dịch tạo ra assembly này?
- 14. Tại sao Resharper intellisense thay thế mã của tôi?
- 15. QFile :: bản sao tạo tạo bản sao của tệp hoặc di chuyển nội dung từ tệp này sang tệp khác?
- 16. Tại sao MSpec không tích hợp với ReSharper 6?
- 17. Tại sao hàm tạo bản sao này được gọi thay vì hàm tạo di chuyển?
- 18. Tại sao biên dịch này?
- 19. ReSharper có thể tạo mã sao chép các thuộc tính từ một đối tượng này sang đối tượng khác không?
- 20. Tại sao AspNetCompatibilityRequirementsMode.Allowed sửa lỗi này?
- 21. Tại sao mã C này biên dịch?
- 22. Tại sao ống này bị chấm dứt?
- 23. Tại sao điều này hợp lệ C
- 24. Tại sao mã này chỉ in 42?
- 25. Tại sao điều này lại biên dịch?
- 26. Tại sao git tạo tệp chỉ đọc (444)?
- 27. Tại sao mã này không biên dịch?
- 28. Tại sao tệp kết xuất lõi được tạo ra?
- 29. Tại sao tiện ích tệp nhận dạng tệp Microsoft Word là CDF? CDF này là gì?
- 30. Tại sao mã này đang cố gắng gọi hàm tạo bản sao?
Tệp này hỗ trợ chú thích Resharper (các thuộc tính như '[NotNull]' hoặc '[Pure]') cung cấp thêm thông tin về mã để giúp phân tích mã. Nếu bạn không cần nó, bạn có thể xóa nó, nó sẽ không gây ra bất kỳ vấn đề nào (miễn là bạn không sử dụng các chú thích này tất nhiên). –
Tôi nhận được tệp này luôn nếu tôi triển khai Giao diện INotiyPropertyChanged. Nếu tôi tạo ra nó, thì tôi có intellisense trong PropertyChanged-Event – Tomtom