Imports EnvDTE Imports System.Diagnostics Public Module CleverStuff Function BeginUndoGroup(ByVal undogroupname) Dim wasOpen If DTE.UndoContext.IsOpen Then wasOpen = True Else DTE.UndoContext.Open(undogroupname, False) End If BeginUndoGroup = wasOpen End Function Sub EndUndoGroup(ByVal bWasOpen) If bWasOpen Then DTE.UndoContext.Close() End If End Sub Sub CBrackets() Dim wasOpen wasOpen = BeginUndoGroup("NotifyHandler") With DTE.ActiveDocument.Selection .EndOfLine() .NewLine() .Text = "{" .NewLine() .Text = "}" .NewLine() .LineUp(False, 2) .EndOfLine() .NewLine() End With EndUndoGroup(wasOpen) End Sub End Module