2012-02-03 34 views
16

Tôi muốn mở rộng danh sách IntelliSense theo cách thủ công bằng các mục khác nhau. Tôi muốn chịu trách nhiệm về hành động được kích hoạt bởi mục (ví dụ: hoàn thành mã và thông tin chú giải công cụ). Nó không quan trọng những gì các mặt hàng.Làm cách nào để mở rộng các mục IntelliSense?

Điều này có thể thực hiện với trình bổ sung VisualStudio, ReSharper/DXCore hoặc bất kỳ plugin nào khác không?

Bối cảnh:

Một số bạn có thể biết FOP (lập trình tính năng định hướng). FOP sẽ yêu cầu các thay đổi khác nhau đối với hành vi intellisense và trình soạn thảo.

Edit:

interesting post Một.

+0

Tôi đoán phạm vi của những gì bạn đang cố gắng làm không được giải quyết bằng Phương pháp mở rộng? http://msdn.microsoft.com/en-us/library/bb383977.aspx Nghĩ rằng tôi muốn hỏi, chỉ để đảm bảo ... – kd7

+0

@ kd7: nope ..... – Matthias

+0

Nếu bạn đang muốn thay đổi hành vi của IDE, sau đó bạn chắc chắn đang xem xét một plugin. Nếu những gì bạn muốn làm có thể được thực hiện trong khuôn khổ R # plugin, thì điều đó sẽ dễ dàng hơn việc viết plugin VS của riêng bạn, nhưng sau này chắc chắn là có thể thực hiện được. – AakashM

Trả lời

15

Điều này chắc chắn có thể thực hiện được một cách dễ dàng bởi writing a ReSharper plugin.

  • Bắt đầu bằng cách thực hiện ICodeCompletionItemsProvider mà sẽ cung cấp các mặt hàng IntelliSense bổ sung. Cách dễ nhất là kế thừa từ ItemsProviderOfSpecificContext<TContext> (với TContextCSharpCodeCompletionContext nếu bạn quan tâm đến việc hoàn thành mã C#).

  • Nhà cung cấp của bạn sẽ thêm các mục bổ sung khi triển khai AddLookupItems(). Bạn có cơ hội cung cấp triển khai tùy chỉnh ILookupItem tại đây: phương thức Accept() của giao diện này sẽ được gọi khi người dùng chọn mục trong cửa sổ bật lên hoàn thành. Đây là cơ hội để bạn thực thi mã bạn cần.

Lưu ý rằng thông tin này là dành cho R # 6.1/7.0. Tôi không nghĩ rằng nó là rất khác nhau trong các phiên bản trước đó mặc dù. Rõ ràng, bạn phải kích hoạt ReSharper IntelliSense thay vì Visual Studio IntelliSense để làm việc này.

3

Trình chỉnh sửa XML intelliSense cho VS2010 tùy chỉnh có thể được thêm bằng cách đặt các tệp xsd tùy chỉnh trong thư mục C:\Program Files\Microsoft Visual Studio 10.0\Xml\Schemas nhưng tôi đoán bạn đang tìm kiếm thêm thứ gì đó.

Bạn nên xem Creating and Using IntelliSense Code Snippets và quyết định xem đó có phải là những gì bạn đang tìm kiếm không. Điều này question trên programmers.stockexchange cũng có thể hữu ích. question này cũng có vẻ tương tự, gợi ý CSharpIntellisensePresenter (Miễn phí).

+0

đoạn mã không có gì để làm với nó cả ... – Fraser

+0

@ Faser, Đó là lý do tại sao nó chỉ là một gợi ý, không phải giải pháp cụ thể. Tôi yêu cầu anh ta xem xét và quyết định. Nếu bạn chắc chắn rằng các đoạn mã hoàn toàn vô dụng, bạn có thể chỉnh sửa câu trả lời của mình và xóa liên kết đó. Hoặc bạn có thể nói với tôi rằng bạn chắc chắn và tôi có thể xóa liên kết. Cảm ơn. –

+0

gợi ý rằng anh ta nên xem xét điều gì đó hoàn toàn không liên quan là lý do tôi đưa ra -1, đó là những gì bỏ phiếu xuống, đánh dấu các câu trả lời không đúng và cho thấy sự thiếu nỗ lực http://stackoverflow.com/privileges/bỏ phiếu xuống nếu bạn đã đọc liên kết bạn cung cấp, điều đó sẽ hiển nhiên với bạn, phải không? – Fraser

0

Có thể mẫu trực tiếp của ReSharper có thể giúp bạn (ReSharper-> Live Templates ...).

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