12

Trong Visual Studio, làm cách nào để thay đổi đoạn trích nhận xét tóm tắt XML mặc định từ ba dòng thành một dòng?Nhận xét tóm tắt XML của Visual Studio trên một dòng

Hiện nay nó cung cấp đoạn mã này khi tôi gõ ///:

/// <summary> 
/// 
/// </summary> 

Tôi muốn đoạn ngắn này:

///<summary></summary> 

tóm tắt của tôi là thường ngắn gọn và thêm 2 dòng là không cần thiết.

Có cài đặt cấu hình cho tiện ích này hoặc một số tùy chỉnh mã/tùy chỉnh bổ trợ để sửa lỗi này không.

Trả lời

4

Đây là một câu hỏi cũ, nhưng tôi thích đề xuất của Jason Williams về việc tạo đoạn trích cho điều này, vì vậy tôi đã làm. Không phải là rất phức tạp, nhưng sao chép và dán thậm chí còn dễ dàng hơn :)

<?xml version="1.0" encoding="utf-8"?> 
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 
    <CodeSnippet Format="1.0.0"> 
    <Header> 
     <Title>Single line summary</Title> 
     <Shortcut>summary</Shortcut> 
    </Header> 
    <Snippet> 
     <Code Language="csharp"> 
     <![CDATA[/// <summary>$end$</summary>]]> 
     </Code> 
    </Snippet> 
    </CodeSnippet> 
</CodeSnippets> 

Bạn có thể thay đổi các phím tắt bằng cách (có thể là rõ ràng) thay đổi giá trị <Shortcut>.

Dán tệp đó vào tệp mới có tên SingleLineSummary.snippet và lưu tệp vào thư mục %USERPROFILE%\Documents\Visual Studio 2012\Code Snippets\Visual C#\My Code Snippets (sửa đổi để phù hợp với phiên bản Windows và Visual Studio).

Nếu bạn không quen với đoạn mã, để sử dụng, chỉ cần đặt con trỏ lên trên phương thức/thuộc tính/v.v., bắt đầu nhập summary và sau đó nhấn TAB vài lần.

+0

nhưng tài liệu đó không được đánh dấu bằng MSVC khi bạn trỏ chuột vào một số cuộc gọi –

+0

Giải pháp tốt, mặc dù nó có nhược điểm là các trường tài liệu XML khác, như tham số và giá trị trả về, vv sẽ không được tạo tự động. – RobinHood70

3

Bạn có thể định dạng theo cách thủ công nhận xét theo ý bạn, miễn là nó vẫn là xml hợp lệ. Phương pháp rẻ nhất có thể là vô hiệu hóa hành động tự động xây dựng bình luận trong Visual Studio (Công cụ> Tùy chọn> Trình soạn thảo văn bản> C#> Tạo chú thích tài liệu XML cho ///) và sử dụng đoạn mã để chèn /// <summary></summary>.

Nếu bạn muốn định dạng mặc định là một dòng và/hoặc trợ giúp giữ định dạng gọn gàng và dễ đọc, tiện ích của tôi Atomineer Pro Documentation cũng có thể được quan tâm. Trong số nhiều tùy chọn là một tùy chọn sử dụng định dạng 1 dòng nhỏ gọn cho bất kỳ nhận xét nào đủ ngắn để vừa với một dòng. Nó được thiết kế đặc biệt để làm điều này, vì vậy nó có thể làm việc tốt hơn cho nhu cầu của bạn.

Đề xuất cuối cùng là có một số trình bổ sung khác (Resharper, v.v.) có thể tạo ra các chú thích docml xml đơn giản. Tôi tin rằng một số addins này có thể được cấu hình để sử dụng một đoạn văn bản cụ thể. Nếu bạn đã có một addin như vậy, nó có thể là của bạn có thể được điều chỉnh để cung cấp định dạng một dòng mà bạn yêu cầu, theo cách nâng cao hơn một chút so với tinh chỉnh Visual Studio cơ bản được đề xuất ở trên.

+0

Đó là một addon thú vị, nhưng điều đó không giải quyết được vấn đề của tôi. – Eugene

+0

Nó có một tùy chọn (trên tab tùy chọn thứ hai) để nhận xét đơn giản bị giới hạn ở định dạng "đơn giản" (một dòng). Để đạt được điều này, bạn có thể cần phải vô hiệu hóa việc bao gồm thông tin tác giả/ngày tháng (có thể bị vô hiệu hóa trong tab đầu tiên trên các tùy chọn). Điều này sau đó sẽ tạo ra một bình luận một dòng cho đến khi một thời gian như nó cần để span nhiều hơn một dòng. –

+1

Một cách tiếp cận khác là thử tắt Công cụ> Tùy chọn TextEditor \ C# \ Advanced "Tạo chú thích tài liệu XML cho ///" để vô hiệu hóa xử lý Visual Studio mặc định (và cũng tắt tùy chọn hỗ trợ gõ trực tiếp AtomineerUtils ///)) và sau đó thêm đoạn mã cho '///' chỉ mở rộng thành '///

' –

2

Cá nhân, tôi nghĩ rằng đây phải là một phần của trình soạn thảo VS. Tôi đã created a ticket at user voice mà bạn có thể chọn để bỏ phiếu, nếu bạn muốn.

Trong thời gian chờ đợi, ý tưởng đoạn trích là một ý tưởng hay nhưng hành vi hơi khác. Nếu bạn muốn giữ nguyên hành vi tương tự và nếu bạn sẵn sàng mua tiện ích bổ sung của bên thứ ba, thì SubMain có một sản phẩm có tên "GhostDoc Pro", với một chút nỗ lực, sẽ làm điều này cho bạn. (Lưu ý rằng họ có phiên bản miễn phí, không phải "chuyên nghiệp", "GhostDoc", nhưng tôi không nghĩ rằng nó sẽ hoạt động.)

Nếu bạn muốn đi tuyến đường này, dưới đây là cách hoạt động.

  1. Sau khi cài đặt GhostDoc Pro, hãy chuyển đến trình đơn Công cụ của bạn. Ở phía trên cùng sẽ là một menu con mới, "GhostDoc Pro".
  2. Chuyển đến Công cụ -> GhostDoc Pro -> Tùy chọn -> Quy tắc
  3. Bạn sẽ cần chỉnh sửa mẫu T4 cho MACHI loại mà bạn muốn điều này có hiệu lực.

    1. Bấm vào quy tắc và sau đó nhấn "Chỉnh sửa"
    2. Ở phía trên, sửa đổi

      /// <summary> 
      ///<# GenerateSummaryText(); #> 
      /// </summary> 
      

      được chỉ

      /// <summary><# GenerateSummaryText(); #></summary> 
      
    3. Trong phương pháp GenerateSummaryText, sửa đổi từng this.WriteLine chỉ là this.Write
    4. Nhấn OK để lưu, chuyển sang mẫu tiếp theo.
  4. Trước khi đóng trang tùy chọn, hãy chuyển đến phần "Chung" (từ "Quy tắc") và chọn "Đánh dấu tự động tạo tóm tắt khi tài liệu này". Điều này sẽ làm cho văn bản tự động được chèn mới được chọn ra khỏi con dơi vì vậy nếu bạn không thích nó, bạn chỉ có thể bắt đầu nhập. Tất nhiên, nếu bạn muốn có văn bản chỉ không được tạo ra ở tất cả, sau đó bạn có thể làm điều đó, quá, nhưng bạn sẽ phải sửa đổi các mẫu T4 nhiều hơn một chút. Cụ thể, bạn sẽ cần phải có GenerateSummaryText chỉ cần sử dụng một dòng duy nhất,

    this.Write(Context.ExecMacro("$(End)")); 
    

    này sẽ có nó không tạo ra bất kỳ văn bản, nhưng sẽ đặt con trỏ giữa 2 <summary> thẻ.


Side Lưu ý:

Nếu có ai biết một cách để có được ReSharper hoặc add-on khác các công cụ để làm điều này, tôi muốn thể quan tâm xem giải pháp mà cũng - nếu không có lý do nào khác ngoài sự tò mò.

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