Sub FMS_CommentXSL() Const cmntStart As String = "" Dim usrSel As TextSelection = Nothing Dim buffer As String   Try   ' open undo buffer         DTE.UndoContext.Open("FMS Comments") ' store user selection usrSel = DTE.ActiveDocument.Selection ' store selected text for later buffer = DTE.ActiveDocument.Selection.Text ' single line in consideration ' with nothing highlighted : comment entire line ' similar to single line comment // If usrSel.TopPoint.EqualTo(usrSel.BottomPoint) Then ' move to beginning of line usrSel.MoveToLineAndOffset(usrSel.TopPoint.Line, 0) ' select to end of line usrSel.EndOfLine(True) ' get the newly selected line usrSel = DTE.ActiveDocument.Selection buffer = usrSel.Text End If ' end single line chk usrSel.Delete() usrSel.Insert(String.Concat(cmntStart, buffer, cmntEnd)) Catch e As System.Exception ' the macro failed ' reasons could be : No editor open    DTE.StatusBar.Text = "FMS Comments macro failed." DTE.StatusBar.Highlight(True) Finally ' close undo buffer DTE.UndoContext.Close() End Try End Sub Sub FMS_UncommentXSL() Const cmntStart As String = "" Dim usrSel As TextSelection = Nothing Dim buffer As String, newBuffer As String Try ' open undo buffer DTE.UndoContext.Open("FMS Comments") ' store user selection usrSel = DTE.ActiveDocument.Selection ' store selected text for later buffer = DTE.ActiveDocument.Selection.Text ' single line in consideration ' with nothing highlighted : comment entire line ' similar to single line comment // If usrSel.TopPoint.EqualTo(usrSel.BottomPoint) Then ' move to beginning of line usrSel.MoveToLineAndOffset(usrSel.TopPoint.Line, 0) ' select to end of line usrSel.EndOfLine(True) ' get the newly selected line usrSel = DTE.ActiveDocument.Selection buffer = usrSel.Text End If ' end single line chk ' replace start & end of comment buffer = buffer.Replace(cmntStart, String.Empty) buffer = buffer.Replace(cmntEnd, String.Empty) usrSel.Delete() usrSel.Insert(buffer) Catch e As System.Exception ' the macro failed ' reasons could be : no editor open        DTE.StatusBar.Text = "FMS Comments macro failed." DTE.StatusBar.Highlight(True) Finally ' close undo buffer DTE.UndoContext.Close() End Try End Sub