2010-05-12 24 views
9

Thông thường tôi muốn đưa lên một lớp hệ thống trong một khung nhìn nguồn, để tôi có thể duyệt các thuộc tính và phương thức được lớp tiếp xúc. Dưới đây là ảnh chụp màn hình của những gì tôi có nghĩa là:Visual Studio - cách dễ dàng để đưa ra định nghĩa kiểu như mã nguồn

Srting from metadata http://img443.imageshack.us/img443/940/stringfrommetadata.png

Thường thì tôi làm điều này bằng cách chọn tên lớp và nhấn F12 (hoặc click chuột phải> Go To Definition). Tuy nhiên, nếu tôi không có nó ở bất cứ nơi nào sẵn sàng, tôi đã gõ nó lên và sau đó làm Go To Definition. Hầu hết thời gian tôi phải xóa những gì tôi đã gõ sau này.

Có cách nào để hiển thị chế độ xem này mà không phải nhập tên lớp không? Hộp thoại VS2010 Navigate To không hỗ trợ tính năng này.

EDIT: Khi tôi đăng câu hỏi tôi không sử dụng bất kỳ plugin Visual Studio nào. Bây giờ tôi nhận ra rằng tôi có giấy phép CodeRush đầy đủ (nhờ có khuyến mãi StackOverflow cho người dùng với đại diện 10K), tôi sẽ chấp nhận câu trả lời sử dụng CodeRush hoặc Refactor !.

CHỈNH SỬA: Ở giai đoạn này, tôi chưa thực sự có bất kỳ nơi nào cố gắng trả lời câu hỏi này. Tôi sẽ để nó mở và để cho tiền thưởng tự động thưởng cho Rory khi anh ấy giải thích những gì đang xảy ra tốt nhất. Trong khi chờ đợi (lịch trình cho phép) tôi sẽ điều tra làm điều này với DXCore như tôi nghĩ rằng nó nên có thể.

Trả lời

2

Không có cách nào mà tôi biết để làm điều này trong Visual Studio 2010. Tuy nhiên, bạn có thể làm điều này trong ReSharper thông qua menu 'điều hướng đến'. Tôi đề nghị bạn thử dùng thử 30 ngày từ họ, sau đó nếu bạn thực sự cần điều này thì hãy mua nó.

3

Tôi không biết tính năng mới "Điều hướng đến", nhưng tôi đã từng sử dụng Reflector cho loại sự việc này. Phiên bản chuyên nghiệp cung cấp một số tích hợp với Visual Studio (Nhấp chuột phải vào phương pháp và chọn "Open In .NET Reflector"). Nó sẽ mở cửa sổ phản xạ và sẽ không hiển thị mã trong bản thân VS. Bạn có thể watch the demo hiển thị tính năng này và một số tính năng khác.
Đây không phải là câu trả lời hay nhất mà tôi mong đợi nhưng là một lựa chọn tốt để biết.

7

Chế độ xem bạn đang xem dường như đã được xây dựng bởi một số phân tích về IL của khuôn khổ. Nếu không biết loại bạn định xem, không thể giải mã được. Vì vậy, tôi cảm thấy rằng, bạn không thể tìm thấy chính xác những gì bạn đã nói bạn đang tìm kiếm.

Cho phép tôi đề xuất một vài lựa chọn thay thế.

Tuyên bố từ chối trách nhiệm: Tôi làm việc cho DevExpress với tư cách là một nhà truyền giáo cộng đồng CodeRush.

Trình duyệt Object (Ctrl +Alt +J) Màn hình này sẽ được tải mà không cần cố gắng để cho bạn thấy bất kỳ loại đặc biệt, nó sẽ do đó được xuống để bạn tìm loại trong câu hỏi. Tuy nhiên tất cả các loại có sẵn và chức năng tìm kiếm đầy đủ được cung cấp. một khi loại bạn đang tìm kiếm hoặc được tìm thấy, tất cả các thành viên được liệt kê và có sẵn.

Cập nhật: Nếu bạn sử dụng (Ctrl +K, Ctrl +R) phím tắt để khởi động trình duyệt đối tượng, sau đó nó sẽ khởi động tập trung vào hộp tìm kiếm. Điều này là vô giá.

Có một số tính năng CodeRush có thể hữu ích khi tìm cách xác định mã.

TabToNextReference (Tab) Trong khi caret được đặt bên trong một loại, tấn công phím tab và tài liệu tham khảo bên cạnh loại sẽ được đặt. More Details

Tài liệu tham khảo ToolWindow (phím Shift +F12) Khi được kích hoạt References ToolWindow sẽ cho bạn thấy bất kỳ tài liệu tham khảo để loại hiện tại hoặc thành viên. Cửa sổ công cụ này cũng có thể được sử dụng để điều hướng các tham chiếu đã nói. Các công cụ tham khảo có thể được sử dụng trong cả hai theo yêu cầu và chế độ Live. điều này cho phép bạn có bản cập nhật cửa sổ khi bạn điều hướng mã của bạn (thông qua chuột hoặc bàn phím) và xác định tất cả các tham chiếu của bất kỳ ký hiệu nào mà dấu mũ nằm trên đó.

QuickNav (Ctrl +phím Shift +Q): Tính năng này là gần nhất trong phong cách sử dụng tính năng NavigateTo VS2010 của. QuickNav sẽ xác định vị trí các biểu tượng phù hợp với bất cứ điều gì bạn gõ vào hộp lọc của nó. Cơ sở này cũng hỗ trợ tìm kiếm Camel Case. More details

QuickNav cũng là much more configurable hơn đó là VS đối

Cuối cùng

Cũng xin lưu ý rằng CodeRush là xây dựng dựa trên các DXCore, một khuôn khổ cho phép người dùng tạo ra các plugin của riêng họ để sử dụng cùng với lẫn nhau và CodeRush.

Khung này đã nhiều lần được leveraged by the community để thêm chức năng bổ sung. Vì vậy, ngay cả khi bạn không nhìn thấy bất cứ điều khá yêu cầu của bạn, hãy xem xét cho thấy một cái gì đó cho cộng đồng by way of the forums hoặc thậm chí liên hệ với tôi trực tiếp RoryB ở DevExpress dot Com

tôi chắc chắn rằng có điều gì đó chúng ta có thể làm gì để giúp bạn out :)

+0

Cảm ơn Rory vì bài đăng tuyệt vời. Tuy nhiên, tôi cảm thấy rằng tôi sẽ có thể tìm thấy những gì tôi đang tìm kiếm vì tất cả những gì tôi muốn là chức năng "Go To Definition" (mà tôi cho là được mở rộng bởi VS Extensibility) trong khi cung cấp tên đầy đủ. Hãy nghĩ hộp thoại QuickNav sẽ lập chỉ mục tất cả các hội đồng được tham chiếu và thực hiện định nghĩa cho một loại. –

+0

Xin lỗi Igor, có vẻ như tôi hiểu lầm/hiểu sai yêu cầu ban đầu của bạn. Dường như bạn đang tìm cách định vị thông tin loại của bạn mà không thực sự cung cấp loại. Bây giờ tôi đọc lại, có vẻ như bạn rất vui khi cung cấp loại này, nhưng bạn không muốn xóa nó khỏi trình soạn thảo của bạn sau đó. –

0

Một số bổ trợ cho phép bạn duyệt qua các đối tượng (mặc dù thường là theo cách thức của trình duyệt đối tượng hơn là ở dạng tệp "tiêu đề" - Tôi tin rằng Resharper, CodeRush và Visual Assist X đều có các biến thể về chủ đề này).

Tuy nhiên, một bổ trợ cần xem xét (miễn phí) là VS Productivity Power Tools. Nó cho biết thêm một cửa sổ Solution Navigator cung cấp một cái nhìn vào giải pháp của bạn giống như Solution Explorer, nhưng (trong số các cải tiến khác):

  • có thể tìm kiếm các tập tin được liệt kê, ví dụ: chỉ hiển thị những tệp có tên Kiểm tra.
  • có thể "mở rộng" bất kỳ mục nhập tệp nào để hiển thị các loại và thành viên trong đó.
+0

Rất tiếc, Trình hướng dẫn giải pháp không thực sự thực hiện các loại tham chiếu không có trong giải pháp (tức là 'Hệ thống.String'). –

+0

Vâng. Tôi rất thích "xem siêu dữ liệu" (như được đăng trong câu hỏi), cho bất kỳ lớp nào mà tôi yêu cầu trợ giúp. Có lẽ đó là lập trình C++ trong tôi cố gắng lấy lại, nhưng tôi thấy rằng "tệp tiêu đề" là tóm tắt hữu ích và dễ đọc nhất của một lớp - dễ dàng hơn nhiều so với trình duyệt đối tượng và tài liệu MSDN, vì nó ở dạng chính xác mà chúng ta đọc cả ngày mỗi ngày. –

+0

Tôi nghĩ chúng ta đang ở cùng một chiếc thuyền. Không có lý thuyết gì ngăn chặn chức năng này. Tôi đoán tùy chọn của tôi là để hack vào VS Extensibility hoặc để làm ít StackOverflow, đó là việc sử dụng chính cho tính năng này. –

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