2011-01-06 28 views
8

như vậy, tôi có một kho lưu trữ được xác định với một phương pháp như thế này:resharper vấn đề IntelliSense với phương pháp khuyến nông

IQueryable<Customer> Customers{...} 

và các nơi khác một phương pháp khuyến nông để lọc các khách hàng như vậy:

public static IQueryable<Customer> WithID(this IQueryable<Customer> customers, int ID){...} 

và điều này woks độc đáo, cho phép tôi sử dụng kho lưu trữ như thế này:

var c = repo.Customers().WithID(5).Single(); 

nhưng vấn đề là, ReShar mỗi lần messes up Auto-Completion vào thời gian lớn này. Khi tôi gõ

var c = repo.Customers().Wi 

tôi nhận được thoải mái Intellisense hiển thị cho tôi phương pháp WithID (...), nhưng khi tôi con trỏ xuống để nó và nhấn TAB, thay vì nhận được sự WithID() phương pháp như mong đợi, nó đi lại và thay đổi mã đã được viết và dòng kết thúc lên tìm kiếm thay vì như:

var c = CustomerExtensions.WithID(repo.Customers()) 

trong đó tất nhiên lá tôi phải quay trở lại và gõ nó trong một lần nữa, và lần này bỏ qua IntelliSense - mà IMHO KHÔNG BAO gIỜ là một điều tốt:)

Tôi đã xác nhận rằng đó là sự cố ReSharper bởi đi vào các tùy chọn và chỉ định "Visual Studio" cho Intellisense. Tôi không muốn quay trở lại Studio đơn giản!

Có ai có thể trợ giúp hoặc đề xuất giải pháp khác không?

+0

Tôi không gặp sự cố đó với bất kỳ phương pháp tiện ích mở rộng nào của chúng tôi. Bạn đang sử dụng phiên bản ReSharper nào? –

+0

R # 5.1 VS 2010, Windows 7. Dự án thư viện lớp trong khuôn khổ 4.0. Hmmm .. điều này xảy ra với tất cả các nhà phát triển của chúng tôi ở đây, không chỉ cho tôi. –

+0

Bạn đã tìm thấy giải pháp chưa? Điều này xảy ra với tôi trong một số tình huống. – MatteS

Trả lời

5

Điều này cũng ảnh hưởng đến tôi. Hình như đó là một lỗi được biết:

http://youtrack.jetbrains.net/issue/RSRP-274746

Tắt Resharper -> Options -> IntelliSense -> Hoàn Behavior -> "Tự động chèn dấu ngoặc đơn sau khi hoàn thành" giúp.

+0

Điều đó loại bỏ các lỗi cho tôi, mặc dù không phải là giải pháp tốt nhất cho vấn đề thực sự. Dường như lỗi đã được sửa trong 6.0, nhưng nó đã trở lại trong 8. Có vẻ như họ đã sửa nó một lần nữa trong 9.0, vì vậy bạn chỉ cần trả vài trăm đô la (một lần nữa) để khắc phục vấn đề. 9,0 dường như vẫn còn vật lộn với các phương pháp mở rộng, nhưng thay vì thay đổi lời gọi, nó chỉ không mở các dấu ngoặc đơn, và kéo lên dòng tiếp theo để thay thế. Họ nói gì về các nhà phát triển viết các lỗi để giữ bản thân họ làm việc? https://youtrack.jetbrains.com/issue/RSRP-426530 –

+0

Bật và tắt cài đặt đó có vẻ đã cố định nó cho mr –

0

Bạn có thể gọi nó như là một phương pháp mở rộng bằng cách sử dụng hoàn thành loại (CTRL + ALT + SPACE) và điều này sẽ bỏ qua lỗi chính xác.

Lỗi này chỉ xảy ra đối với một số phương pháp mở rộng nhất định, không biết tại sao.

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