كيف يمكنني تخصيص نص التعليق التلقائي في Visual Studio؟
-
06-07-2019 - |
سؤال
وعندما كنت اكتب على الزناد ميزة لصناعة السيارات تعليق في Visual Studio (عن طريق كتابة "" "" أو "///")، فإن معظم XML التعليق تفاصيل تظهر أن أحب. ومع ذلك، وأنا عادة إضافة علامة التاريخ وثائق حتى أتمكن من متابعة والتغييرات التي يتم إجراؤها على طريقة مع مرور الوقت.
هل هناك أي طريقة يمكنني تخصيص السيارات ميزة التعليق بحيث أنه سيتم إضافة علامة التاريخ، ويحتمل أن تكون بعض اسم عام - النص تغيير النائب
- تاريخ؟المحلول
وأنا أقترح باستخدام GhostDoc . فهو يولد تعليقات ذكية جدا باستخدام /// على أساس أسماء أسلوب والمعلمات. أيضا، فمن تماما للتخصيص.
نصائح أخرى
وأعتقد أنك يمكن أن تستخدم أداة كما قال dgarcia ولكن في محاولة لاختيار واحد الذي يجعل insetad التحكم في الإصدار، وأنا شخصيا لست مروحة كبيرة من الحفاظ على "التاريخ" أو مسار المشروع باستخدام التعليقات في التعليمات البرمجية .
إذا كنت تحب بهذه الطريقة يمكنك إنشاء الخاصة بك نسخة مخصصة من المقتطف، وهذا هو أسهل إذا كنت تستخدم أداة مثل <وأ href = "http://www.codeplex.com/snippy" يختلط = "نوفولو noreferrer "> سليط اللسان
نسخ هذا الملف لديك
والمستندات \ البصرية ستوديو 2005 \ كود القصاصات [اللغة] \ بلدي كود القصاصات \
ومجرد أن يكون متأن لتغيير الملف إذا كنت ستعمل استخدامه في VB.NET
وهذا الأمل مساعدة
ومثلما متابعة للتعليق على أوليفييه. هنا هو نسخة من الماكرو الآن، ابحث عن قسم "هل التاريخ" لنرى أين أنا إدراج التعليمات البرمجية.
''// InsertDocComments goes through the current document using the VS Code Model
''// to add documentation style comments to each function.
''
Sub InsertDocComments()
Dim projectItem As ProjectItem
Dim fileCodeModel As FileCodeModel
Dim codeElement As CodeElement
Dim codeElementType As CodeType
Dim editPoint As EditPoint
Dim commentStart As String
projectItem = DTE.ActiveDocument.ProjectItem
fileCodeModel = projectItem.FileCodeModel
codeElement = fileCodeModel.CodeElements.Item(1)
''// For the sample, don't bother recursively descending all code like
''// the OutlineCode sample does. Just get a first CodeType in the
''// file.
If (TypeOf codeElement Is CodeNamespace) Then
codeElement = codeElement.members.item(1)
End If
If (TypeOf codeElement Is CodeType) Then
codeElementType = CType(codeElement, CodeType)
Else
Throw New Exception("Didn't find a type definition as first thing in file or find a namespace as the first thing with a type inside the namespace.")
End If
editPoint = codeElementType.GetStartPoint(vsCMPart.vsCMPartHeader).CreateEditPoint()
''// Make doc comment start.
commentStart = LineOrientedCommentStart()
If (commentStart.Length = 2) Then
commentStart = commentStart & commentStart.Chars(1) & " "
ElseIf (commentStart.Length = 1) Then
commentStart = commentStart & commentStart.Chars(0) & commentStart.Chars(0) & " "
End If
''// Make this atomically undo'able. Use Try...Finally to ensure Undo
''// Context is close.
Try
DTE.UndoContext.Open("Insert Doc Comments")
''// Iterate over code elements emitting doc comments for functions.
For Each codeElement In codeElementType.Members
If (codeElement.Kind = vsCMElement.vsCMElementFunction) Then
''// Get Params.
Dim parameters As CodeElements
Dim codeFunction As CodeFunction
Dim codeElement2 As CodeElement
Dim codeParameter As CodeParameter
codeFunction = codeElement
editPoint.MoveToPoint(codeFunction.GetStartPoint(vsCMPart.vsCMPartHeader))
''//editPoint.LineUp()
parameters = codeFunction.Parameters
''// Do comment.
editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
editPoint.LineUp()
editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart & "<summary>")
editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart & "Summary of " & codeElement.Name & ".")
editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart & "</summary>")
editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart)
For Each codeElement2 In parameters
codeParameter = codeElement2
editPoint.Insert("<param name=" & codeParameter.Name & "></param>")
editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart)
Next ''//param
''// Do history tag.
editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
editPoint.LineUp()
editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart & "<history>")
editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart & "Name MM/DD/YYYY [Created]")
editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart & "</history>")
editPoint.Insert(Microsoft.VisualBasic.Constants.vbCrLf)
editPoint.Insert(Microsoft.VisualBasic.Constants.vbTab & commentStart)
End If ''//we have a function
Next ''//code elt member
Finally
DTE.UndoContext.Close()
End Try
End Sub
لسبب ما، بعد حفظ وإعادة بناء، وإعادة تشغيل من Visual Studio، أنا لا تحصل على علامة التاريخ. أي شخص يمكن أن يرى شيئا هنا أنا في عداد المفقودين؟
واستخدامات VB ملف XML لتحميل defults. ومن VBXMLDoc.xml وذلك يعتمد على الإصدار الذي تقوم بتشغيل لموقع الملف.