2012-02-28 30 views
8

Tôi đang sử dụng C# 3.5 và LINQ. Tôi có ReSharper 6.1 trên VS 2010.Hành vi tự động hoàn tất ReSharper với các loại ẩn danh trong biểu thức lambda

Ví dụ, nếu tôi nhập các tuyên bố sau trong trình soạn thảo mã:

var result = dataContext.Items.Select(i => new {Name = i.ItemName}); 

Ngay sau khi tôi gõ new { nó tự động hoàn thành để new string{}. Trên thực tế, không chắc chắn nếu nó luôn luôn là string hoặc phụ thuộc vào lambda. Nhưng tôi thấy tôi luôn luôn cần phải xóa nó và sao lưu. Điều này xảy ra bất cứ khi nào tôi khai báo các kiểu ẩn danh trong một lambda.

Cài đặt trong ReSharper hoặc VS nào tôi cần phải thay đổi để có thể nhập các loại ẩn danh bằng cách sử dụng cú pháp trên mà không xảy ra sự cố? Tốt hơn, tôi muốn giữ lại tự động hoàn thành trong tất cả các tình huống khác, chỉ cần không phải là một trong những đặc biệt này vì nó là làm cho một giả định không chính xác như ý định của tôi.

Trả lời

12

Resharper 6.1 đã thêm một tính năng mới để kiểm soát cách hoạt động của autopopups intellisense. Vào ReSharper-> Options-> Environment-> IntelliSense-> Autopopup và thay đổi thiết lập "After 'new'" thành "Display nhưng không chọn trước".

enter image description here

+0

Điều này làm việc hoàn hảo, cảm ơn bạn đã cho tôi thấy điều gì đó mới mẻ. –

+0

Một phao cứu sinh như vậy! –

+0

Điều này thực sự hữu ích! Tôi đã tìm kiếm một thiết lập tương tự (nếu bạn đang làm LINQ [VB Cú pháp ở đây], và gõ 'Dim thing = (Từ x Trong công cụ)', nó sẽ tự động điền 'x' vào' Xor' – bhamby

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