Làm cách nào để có nhận xét trong IntelliSense cho chức năng trong Visual Studio?


139

Trong Visual Studio và C #, khi sử dụng một hàm dựng sẵn như ToString (), IntelliSense hiển thị một hộp màu vàng giải thích những gì nó làm.

văn bản thay thế văn bản thay thế

Làm thế nào tôi có thể có điều đó cho các chức năng và tính chất tôi viết?

Câu trả lời:


215

Để tạo một khu vực nơi bạn có thể chỉ định một mô tả cho hàm và từng tham số cho hàm, hãy nhập dòng sau vào dòng trước hàm của bạn và nhấn Enter:

  • C #: ///

  • VB: '''

Xem Thẻ được đề xuất cho Nhận xét Tài liệu (Hướng dẫn lập trình C #) để biết thêm thông tin về nội dung có cấu trúc mà bạn có thể đưa vào các nhận xét này.


2
Để nhấn mạnh: Đó là dấu gạch chéo ba trong C ++ / C # (bình luận bình thường là dấu gạch chéo kép). Và trong VB, hai trích dẫn đơn của nó, không phải là một trích dẫn kép.
abelenky

1
Đó thực sự là ba trích dẫn trong vb
Joel Coehoorn

1
Trên thực tế, trong VB, đó là 3 trích dẫn đơn: '' '
hometoast

2
Thay vào đó, trong tệp VB, bạn có thể nhấp chuột phải vào một chức năng hoặc lớp và nhấp vào "Chèn nhận xét". Đối với C #, bạn có thể sử dụng StyleCop sẽ nhắc bạn viết tiêu đề tài liệu tốt
user1069816

GhostDoc là một công cụ tuyệt vời có thể thêm rất nhiều văn bản trong các bình luận cho bạn. submitain.com/products/ghostdoc.aspx
Karl Gjertsen

74

Những gì bạn cần là các bình luận xml - về cơ bản, chúng tuân theo cú pháp này (như được mô tả một cách mơ hồ bởi Solmead):

C #

///<summary>
///This is a description of my function.
///</summary>
string myFunction() {
     return "blah";
}

VB

'''<summary>
'''This is a description of my function.
'''</summary>
Function myFunction() As String
    Return "blah"
End Function

23

<c>text</c>- Văn bản bạn muốn chỉ ra dưới dạng mã.
Thẻ < c > cung cấp cho bạn một cách để chỉ ra rằng văn bản trong một mô tả nên được đánh dấu là mã. Sử dụng < code > để chỉ ra nhiều dòng dưới dạng mã.

<code>content</code>- Văn bản bạn muốn được đánh dấu là mã.
Thẻ < code > cung cấp cho bạn một cách để chỉ ra nhiều dòng dưới dạng mã. Sử dụng < c > để chỉ ra rằng văn bản trong phần mô tả phải được đánh dấu là mã.

<example>description</example>- Mô tả về mẫu mã.
Thẻ < example > cho phép bạn chỉ định một ví dụ về cách sử dụng phương thức hoặc thành viên thư viện khác. Điều này thường liên quan đến việc sử dụng thẻ < code >.

<exception cref="member">description</exception>- Một mô tả về ngoại lệ.
Thẻ < ngoại lệ > cho phép bạn chỉ định ngoại lệ nào có thể được ném. Thẻ này có thể được áp dụng cho các định nghĩa cho các phương thức, thuộc tính, sự kiện và bộ chỉ mục.

<include file='filename' path='tagpath[@name="id"]' />
Thẻ < include > cho phép bạn tham khảo các nhận xét trong một tệp khác mô tả các loại và thành viên trong mã nguồn của bạn. Đây là một thay thế cho việc đặt bình luận tài liệu trực tiếp trong tệp mã nguồn của bạn. Bằng cách đặt tài liệu vào một tệp riêng biệt, bạn có thể áp dụng kiểm soát nguồn cho tài liệu riêng biệt với mã nguồn. Một người có thể kiểm tra tệp mã nguồn và người khác có thể kiểm tra tệp tài liệu. Thẻ < include > sử dụng cú pháp XML XPath. Tham khảo tài liệu XPath để biết cách tùy chỉnh việc sử dụng < bao gồm > của bạn .

<list type="bullet" | "number" | "table">
    <listheader>
        <term>term</term>
        <description>description</description>
    </listheader>
    <item>
        <term>term</term>
        <description>description</description>
    </item>
</list>

Khối < listheader > được sử dụng để xác định hàng tiêu đề của bảng hoặc danh sách định nghĩa. Khi xác định một bảng, bạn chỉ cần cung cấp một mục cho thuật ngữ trong tiêu đề. Mỗi mục trong danh sách được chỉ định bằng một khối < item >. Khi tạo danh sách định nghĩa, bạn sẽ cần chỉ định cả thuật ngữ và mô tả. Tuy nhiên, đối với một bảng, danh sách dấu đầu dòng hoặc danh sách được đánh số, bạn chỉ cần cung cấp một mục để mô tả. Một danh sách hoặc bảng có thể có nhiều khối < item > nếu cần.

<para>content</para>
Thẻ < para > được sử dụng bên trong thẻ, chẳng hạn như < Tóm tắt >, < nhận xét > hoặc < trả về > và cho phép bạn thêm cấu trúc vào văn bản.

<param name="name">description</param>
Thẻ < param > nên được sử dụng trong nhận xét cho khai báo phương thức để mô tả một trong các tham số cho phương thức. Để ghi lại nhiều tham số, sử dụng nhiều thẻ < param >.
Văn bản cho thẻ < param > sẽ được hiển thị trong IntelliSense, Trình duyệt đối tượng và trong Báo cáo web nhận xét mã.

<paramref name="name"/>
Thẻ < paramref > cung cấp cho bạn một cách để chỉ ra rằng một từ trong các nhận xét mã, ví dụ như trong khối < Tóm tắt > hoặc < nhận xét > đề cập đến một tham số. Tệp XML có thể được xử lý để định dạng từ này theo một cách riêng biệt nào đó, chẳng hạn như với một phông chữ in đậm hoặc in nghiêng.

< permission cref="member">description</permission>
Thẻ < phép > tag cho phép bạn ghi lại các truy cập của một thành viên. Lớp Permissionset cho phép bạn chỉ định quyền truy cập vào một thành viên.

<remarks>description</remarks>
Thẻ < nhận xét > được sử dụng để thêm thông tin về một loại, bổ sung thông tin được chỉ định bằng < Tóm tắt >. Thông tin này được hiển thị trong Trình duyệt đối tượng.

<returns>description</returns>
Thẻ < Returns > nên được sử dụng trong nhận xét cho khai báo phương thức để mô tả giá trị trả về.

<see cref="member"/>
Thẻ < see > cho phép bạn chỉ định một liên kết từ trong văn bản. Sử dụng < seealso > để chỉ ra rằng văn bản nên được đặt trong phần Xem thêm. Sử dụng Thuộc tính cref để tạo siêu liên kết nội bộ đến các trang tài liệu cho các thành phần mã.

<seealso cref="member"/>
Thẻ < seealso > cho phép bạn chỉ định văn bản mà bạn có thể muốn xuất hiện trong phần Xem thêm. Sử dụng < see > để chỉ định một liên kết từ trong văn bản.

<summary>description</summary>
Thẻ < Tóm tắt > nên được sử dụng để mô tả một loại hoặc một thành viên loại. Sử dụng < nhận xét > để thêm thông tin bổ sung vào mô tả loại. Sử dụng Thuộc tính cref để kích hoạt các công cụ tài liệu như Sandcastle để tạo siêu liên kết nội bộ đến các trang tài liệu cho các thành phần mã. Văn bản cho thẻ < Tóm tắt > là nguồn thông tin duy nhất về loại trong IntelliSense và cũng được hiển thị trong Trình duyệt đối tượng.

<typeparam name="name">description</typeparam>
Thẻ < typeparam > nên được sử dụng trong nhận xét cho khai báo kiểu hoặc phương thức chung để mô tả tham số loại. Thêm một thẻ cho từng tham số loại của loại hoặc phương pháp chung. Văn bản cho thẻ < typeparam > sẽ được hiển thị trong IntelliSense, báo cáo web nhận xét mã Trình duyệt đối tượng.

<typeparamref name="name"/>
Sử dụng thẻ này để cho phép người tiêu dùng tệp tài liệu định dạng từ theo một cách riêng biệt, ví dụ như in nghiêng.

<value>property-description</value>
Thẻ < value > cho phép bạn mô tả giá trị mà thuộc tính thể hiện. Lưu ý rằng khi bạn thêm một thuộc tính thông qua trình hướng dẫn mã trong môi trường phát triển Visual Studio .NET, nó sẽ thêm thẻ < Tóm tắt > cho thuộc tính mới. Sau đó, bạn nên thêm một thẻ < value > theo cách thủ công để mô tả giá trị mà thuộc tính thể hiện.


11

Nhận xét XML, như thế này

/// <summary>
/// This does something that is awesome
/// </summary>
public void doesSomethingAwesome() {}

6
Để biết thêm thông số:///<param name="paramName">Tralala</param>
Oddler

10

sử dụng /// để bắt đầu mỗi dòng bình luận và nhận xét chứa xml thích hợp cho trình đọc dữ liệu meta.

///<summary>
/// this method says hello
///</summary>
public void SayHello();

Mặc dù về mặt cá nhân, tôi tin rằng những bình luận này thường bị nhầm lẫn, trừ khi bạn đang phát triển các lớp mà người tiêu dùng không thể đọc được mã.


2
chúng rất tốt cho các lời nhắc tắt hoặc bất cứ nơi nào bạn có mã thư viện nơi có thể đọc được mã nhưng phải mất thêm một chút công việc để có được mã này.
Joel Coehoorn

1
Tôi đồng ý với bạn về mặt lý thuyết, nhưng nếu bạn sử dụng thứ ghostdoc đó, thì bạn đang tăng tỷ lệ nhiễu / tín hiệu đến mức mà các bình luận còn lại đều vô dụng.
DevelopChris

9

Chúng được gọi là Nhận xét XML . Họ đã là một phần của Visual Studio mãi mãi.

Bạn có thể làm cho quy trình tài liệu của mình dễ dàng hơn bằng cách sử dụng GhostDoc , một bổ trợ miễn phí cho Visual Studio, nơi tạo ra các nhận xét tài liệu XML cho bạn. Chỉ cần đặt dấu mũ của bạn vào phương thức / thuộc tính bạn muốn ghi lại và nhấn Ctrl-Shift-D.

Đây là một ví dụ từ một trong những bài viết của tôi .

Mong rằng sẽ giúp :)


6

Trong CSharp, nếu bạn tạo phác thảo phương thức / hàm với Parms, thì khi bạn thêm ba dấu gạch chéo về phía trước, nó sẽ tự động tạo phần tóm tắt và phần parms.

Vì vậy, tôi đưa vào:

public string myMethod(string sImput1, int iInput2)
{
}

Sau đó tôi đặt ba /// trước khi nó và Visual Studio đưa cho tôi cái này:

/// <summary>
/// 
/// </summary>
/// <param name="sImput1"></param>
/// <param name="iInput2"></param>
/// <returns></returns>
public string myMethod(string sImput1, int iInput2)
{
}

6

Xác định các Phương thức như thế này và bạn sẽ nhận được sự giúp đỡ cần thiết.

    /// <summary>
    /// Adds two numbers and returns the result
    /// </summary>
    /// <param name="first">first number to add</param>
    /// <param name="second">second number to </param>
    /// <returns></returns>
    private int Add(int first, int second)
    {
        return first + second;
    }

Ảnh chụp màn hình của việc sử dụng mã



2

Tất cả những câu trả lời khác có ý nghĩa, nhưng không đầy đủ. Visual Studio sẽ xử lý các bình luận XML nhưng bạn phải bật chúng lên. Đây là cách để làm điều đó:

Intellisense sẽ sử dụng các nhận xét XML mà bạn nhập vào mã nguồn của mình, nhưng bạn phải bật chúng thông qua Tùy chọn Visual Studio. Tới Tools> Options> Text Editor. Đối với Visual Basic, bật cài đặt Advanced> Generate XML documentation comments for '''. Đối với C #, bật cài đặt Advanced> Generate XML documentation comments for ///. Intellisense sẽ sử dụng các ý kiến ​​tóm tắt khi được nhập. Chúng sẽ có sẵn từ các dự án khác sau khi dự án được tham chiếu được biên dịch.

Để tạo bên ngoài tài liệu, bạn cần phải tạo một tập tin XML thông qua Project Settings> Build> XML documentation file:con đường mà điều khiển của trình biên dịch /doctùy chọn. Bạn sẽ cần một công cụ bên ngoài sẽ lấy tệp XML làm đầu vào và tạo tài liệu theo lựa chọn định dạng đầu ra của bạn.

Xin lưu ý rằng việc tạo tệp XML có thể làm tăng đáng kể thời gian biên dịch của bạn.


1

Ngoài ra, tài liệu ma bổ trợ của studio trực quan sẽ cố gắng tạo và điền vào các nhận xét tiêu đề từ tên hàm của bạn.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.