ࡱ>   (Hw' C !"#$%&'(?*+,-./0123456789:;<=>?@ABDEFGHIJKLMFPQRSTUVWXYZ[\]^_`abcdefhijklmnopqrstuvwxyz{|}~Root EntryW(JMVSM_Project_MetaData*VSM_Project_Data"CK4W(JMVSMCK4W(JMVSMPROJ(VSM7PROJEX p PITMMANIFESTEG41GQ1GNT44CKYG81QR4I0AV6R51XS@ d2PF7IYB183SV8A0I2XL6LF86S8J6275@  !W01RB70AFJ7I81F134K7J1A1271O871@ 2P6147UK7D47V0KQV5B1FUT3R282W0M@Q3F8J7SBKWS68X6U7818033458D7808I@ !_  !"#$%&'()*+,-./0123456789 DevStudio6Editor>2PF7IYB183SV8A0I2XL6LF86S8J6275Utilities>2P6147UK7D47V0KQV5B1FUT3R282W0MMakeAddin>W01RB70AFJ7I81F134K7J1A1271O871VSEditor>75M11Q7H16QHAQSS7L4L87HCN6OE6D1VSDebugger>3F8J7SBKWS68X6U7818033458D7808I"AddDirAsSlnFolder>XQ1O8VU60167X8VF6537H12AQ38G6UDAccessibility>U424HP8X2R601MBC0A2GPHU46V0EP15"EnvironmentEvents>EG41GQ1GNT44CKYG81QR4I0AV6R51XSgerEvEnvironmentEvents,514,DebuggerEvents,EnvDTE,DebuggerEvents,EnvDTE.DebuggerEvents EnvironmentEvents,513,MiscFilesEvents,EnvDTE,ProjectItemsEvents,EnvDTE.ProjectItemsEvents EnvironmentEvents,512,SolutionItemsEvents,EnvDTE,ProjectItemsEvents,EnvDTE.ProjectItemsEvents EnvironmentEvents,510,SelectionEvents,EnvDTE,SelectionEvents,EnvDTE.SelectionEvents EnvironmentEvents,504,OutputWindowEvents,EnvDTE,OutputWindowEvents,EnvDTE.OutputWindowEvents EnvironmentEvents,505,FindEvents,EnvDTE,FindEvents,EnvDTE.FindEvents EnvironmentEvents,503,TaskListEvents,EnvDTE,TaskListEvents,EnvDTE.TaskListEvents EnvironmentEvents,501,WindowEvents,EnvDTE,WindowEvents,EnvDTE.WindowEvents       "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Samples;Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties amples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes EnvironmentEvents,502,DocumentEvents,EnvDTE,DocumentEvents,EnvDTE.DocumentEvents EnvironmentEvents,500,DTEEvents,EnvDTE,DTEEvents,EnvDTE.DTEEvents Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevVSMPDB'' Copyright (c) Microsoft Corporation. All rights reserved. '' '' These samples demonstrate how to use the VS Automation Object Model. '' They are unsupported, but you can use them as-is. They are not intended '' to demonstrate how to implement fully rigorous commands. For example, '' if a command expects there to be selected text, but you invoke '' the macro on a blank line, the macro's behavior is undefined. '' Imports EnvDTE Imports System Imports EnvDTE80 Imports System.Diagnostics Imports Microsoft.Win32 Public Module Accessibility Private Const fontSizeIncrement As Integer = 2 Private Const minimumSupportedEditorSize As Integer = 3 Private whiteColor As UInt32 = Convert.ToUInt32(&HFFFFFF) ' FFFFFF is hex value of the RGB color white. Private blackColor As UInt32 = Convert.ToUInt32(0) ' 0 is the value of the RGB color white. ' Changes the font size to match the font size of the operating system. Public Sub UpdateTextEditorFontSizeToMatchDisplayProperties() Dim textEditorFontsAndColors As Properties Dim font As System.Drawing.Font Dim pointSize As Integer Dim fontSize As [Property] ' Get font size from menu font to use as an approximation. font = System.Windows.Forms.SystemInformation.MenuFont pointSize = font.GetHeight() - 3 ' Subtract 3 for adjustment. ' Update the text edit font size. textEditorFontsAndColors = DTE.Properties("FontsAndColors", "TextEditor") fontSize = textEditorFontsAndColors.Item("FontSize") fontSize.Value = pointSize End Sub ' Increases the font size used within the editor. Public Sub IncreaseTextEditorFontSize() ' Useful to bind to a keystroke, like Ctrl+Alt+Shift+DownArrow. Dim textEditorFontsAndColors As Properties textEditorFontsAndColors = DTE.Properties("FontsAndColors", "TextEditor") textEditorFontsAndColors.Item("FontSize").Value += fontSizeIncrement End Sub ' Decreases the font size used within the editor. Public Sub DecreaseTextEditorFontSize() ' Useful to bind to a keystroke, like Ctrl+Alt+Shift+UpArrow. Dim textEditorFontsAndColors As Properties Dim fontSize As [Property] textEditorFontsAndColors = DTE.Properties("FontsAndColors", "TextEditor") fontSize = textEditorFontsAndColors.Item("FontSize") If fontSize.Value >= minimumSupportedEditorSize Then fontSize.Value -= fontSizeIncrement End If End Sub ' Turns all colors used within the editor to black and white, or ' restores the colors used before the colors were turned black and white. Public Sub ToggleTextEditorGrayScale() Dim applicationRegistryRootKey As RegistryKey Dim accessibilityKey As RegistryKey Dim textEditorFontsAndColors As Properties Dim fontsAndColors As FontsAndColorsItems Dim editorInGrayScale As Boolean ' Determine whether the user has toggled grayscale by looking up info in registry. applicationRegistryRootKey = Registry.CurrentUser.OpenSubKey(DTE.RegistryRoot, True) accessibilityKey = applicationRegistryRootKey.OpenSubKey("Accessibility", True) ' Create key if it does not exist. If accessibilityKey Is Nothing Then applicationRegistryRootKey.CreateSubKey("Accessibility") accessibilityKey = applicationRegistryRootKey.OpenSubKey("Accessibility", True) accessibilityKey.SetValue("TextEditorInGrayScale", 0) End If ' Get current editor grayscale state. editorInGrayScale = CType(accessibilityKey.GetValue("TextEditorInGrayScale"), Boolean) ' Get the Fonts and Colors object. textEditorFontsAndColors = DTE.Properties("FontsAndColors", "TextEditor") fontsAndColors = textEditorFontsAndColors.Item("FontsAndColorsItems").Object ' Determine whether grayscale settings or previous settings should be applied. If editorInGrayScale Then ' Revert to previous colors found from the registry. For Each displayItem As ColorableItems In fontsAndColors displayItem.Background = UInt32.Parse(accessibilityKey.GetValue(displayItem.Name + "_BG")) displayItem.Foreground = UInt32.Parse(accessibilityKey.GetValue(displayItem.Name + "_FG")) Next ' Toggle flag in registry to indicate text editor is not in gray scale state. accessibilityKey.SetValue("TextEditorInGrayScale", 0) Else ' Write current colors into registry and apply grayscale. For Each displayItem As ColorableItems In fontsAndColors accessibilityKey.SetValue(displayItem.Name + "_BG", displayItem.Background.ToString) accessibilityKey.SetValue(displayItem.Name + "_FG", displayItem.Foreground.ToString) displayItem.Background = whiteColor displayItem.Foreground = blackColor Next ' Toggle flag in registry to indicate text editor is in gray scale state. accessibilityKey.SetValue("TextEditorInGrayScale", 1) End If End Sub ' Makes tool windows appear in the MDI document space. Public Sub MaximizeToolWindowsInEnvironment() For Each window As Window In DTE.Windows ' Check that this is a tool window and not a document window. If (window.Document Is Nothing) Then ' Turn off auto-hiding. Try If window.AutoHides = True Then window.AutoHides = False End If Catch exception As Exception End Try ' Set to undockable (which means show the document as maximized). Try window.Linkable = False Catch End Try End If Next End Sub End Module Module IsF'' Copyright (c) Microsoft Corporation. All rights reserved. '' '' These samples demonstrate how to use the VS Automation Object Model. '' They are unsupported, but you can use them as-is. They are not intended '' to demonstrate how to implement fully rigorous commands. For example, '' if a command expects there to be selected text, but you invoke '' the macro on a blank line, the macro's behavior is undefined. '' Imports EnvDTE Imports EnvDTE80 Imports System.Diagnostics Public Module AddDirAsSlnFolder ' A list of folder names, file names, and extensions that we do not want to add ' to the solution. Dim excludedExtensions As New System.Collections.Specialized.StringCollection Dim outputWindowPaneTitle As String = "Add directory as solution folder report" ' Function to filter out folder names, file names, and extensions that we do not ' want to add to the solution. Function IsFileExcluded(ByVal filePath As String) As Boolean Dim extension As String Dim fileName As String extension = System.IO.Path.GetExtension(filePath) extension = extension.ToLower() fileName = System.IO.Path.GetFileName(filePath) fileName = fileName.ToLower() If (excludedExtensions.Contains(extension)) Then Return True Else If (excludedExtensions.Contains(fileName)) Then Return True Else Return False End If End If End Function ' Recursively walk all the files and folders within a specified path, ' and add them to the specified solution folder. Sub GenerateSlnFolderOnDirStructure2(ByVal currentPath As String, ByVal currentSlnFolder As EnvDTE80.SolutionFolder) Dim folders As String() Dim files As String() Dim file As String Dim folder As String folders = System.IO.Directory.GetDirectories(currentPath) files = System.IO.Directory.GetFiles(currentPath) ' Examine all the files within the folder. For Each file In files If (Not IsFileExcluded(file)) Then Dim projItem As ProjectItem Try projItem = currentSlnFolder.Parent.ProjectItems.AddFromFile(file) If (Not (projItem Is Nothing)) Then If (Not (projItem.Document Is Nothing)) Then projItem.Document.Close(vsSaveChanges.vsSaveChangesNo) End If End If Catch Dim outputWindowPane As EnvDTE.OutputWindowPane outputWindowPane = GetOutputWindowPane(outputWindowPaneTitle, True) outputWindowPane.OutputString("The item """ + file + """may have not been added to the solution." + vbLf) End Try End If Next ' Examine all the subfolders. For Each folder In folders Dim folderName As String Dim newSlnFolder As SolutionFolder Dim proj As Project If (Not IsFileExcluded(folder)) Then folderName = System.IO.Path.GetFileName(folder) proj = currentSlnFolder.AddSolutionFolder(folderName) newSlnFolder = proj.Object GenerateSlnFolderOnDirStructure2(folder, newSlnFolder) End If Next End Sub ' Macro to import a folder on disk into a solution folder structure. ' Before running this macro, you must: ' 1) Change the path pointed to by startFolder to a path on your computer. ' You could also call this macro through the command window, supplying ' a start path argument. ' 2) Ensure that a solution file is open and saved to disk. Sub GenerateSlnFolderOnDirStructure(Optional ByVal startFolder As String = "") Dim currentSlnFolder As EnvDTE80.SolutionFolder Dim proj As Project Dim sln2 As EnvDTE80.Solution2 Dim folderName As String If (String.IsNullOrEmpty(startFolder)) Then startFolder = InputBox("Enter the folder path to import") If (String.IsNullOrEmpty(startFolder)) Then Return End If End If If (System.IO.Directory.Exists(startFolder) = False) Then MsgBox("The specified folder could not be found") Return End If GetOutputWindowPane(outputWindowPaneTitle, True).Clear() If System.IO.Directory.Exists(startFolder) = False Then Dim outputWindowPane As EnvDTE.OutputWindowPane outputWindowPane = GetOutputWindowPane(outputWindowPaneTitle, True) outputWindowPane.OutputString("The path entered could not be found" + vbLf) Exit Sub End If excludedExtensions = New System.Collections.Specialized.StringCollection ' If you do not want a file with a particular extension or name ' to be added, then add that extension or name to this list: excludedExtensions.Add(".obj") excludedExtensions.Add(".ilk") excludedExtensions.Add(".pch") excludedExtensions.Add(".pdb") excludedExtensions.Add(".exe") excludedExtensions.Add(".dll") excludedExtensions.Add(".sbr") excludedExtensions.Add(".lib") excludedExtensions.Add(".exp") excludedExtensions.Add(".bsc") excludedExtensions.Add(".tlb") excludedExtensions.Add(".ncb") excludedExtensions.Add(".sln") excludedExtensions.Add(".suo") excludedExtensions.Add(".vcproj") excludedExtensions.Add(".vbproj") excludedExtensions.Add(".csproj") excludedExtensions.Add(".vjsproj") excludedExtensions.Add(".msi") sln2 = DTE.Solution folderName = System.IO.Path.GetFileName(startFolder) proj = sln2.AddSolutionFolder(folderName) currentSlnFolder = proj.Object GenerateSlnFolderOnDirStructure2(startFolder, currentSlnFolder) End Sub End Module Module line-oriented comment syntax at the beginning ''' of every line the selection touches and creates an undo so that ''' th'' Copyright (c) Microsoft Corporation. All rights reserved. '' '' These samples demonstrate how to use the VS Automation Object Model. '' They are unsupported, but you can use them as-is. They are not intended '' to demonstrate how to implement fully rigorous commands. For example, '' if a command expects there to be selected text, but you invoke '' the macro on a blank line, the macro's behavior is undefined. '' 'Option Strict Off 'Option Explicit Off Imports EnvDTE Imports EnvDTE80 Imports System.Diagnostics Imports Microsoft.VisualBasic Imports Microsoft.VisualBasic.ControlChars Public Module VSEditor ' A constant string that is used by some macros to determine when ' a search has wrapped within a text buffer. This should be localized ' for each language Visual Studio uses. Const passedString = "Passed" '' CommentRegion puts line-oriented comment syntax at the beginning '' of every line the selection touches and creates an undo so that '' there is only one undo action for all the lines edited. '' Sub CommentRegion() Dim selection As EnvDTE.TextSelection Dim startPoint As EnvDTE.EditPoint Dim endPoint As TextPoint Dim commentStart As String selection = DTE.ActiveDocument.Selection() startPoint = selection.TopPoint.CreateEditPoint() endPoint = selection.BottomPoint commentStart = Utilities.LineOrientedCommentStart() DTE.UndoContext.Open("Comment Region") Try Do While (True) Dim line As Integer line = startPoint.Line startPoint.Insert(commentStart) startPoint.LineDown() startPoint.StartOfLine() If (line = endPoint.Line) Then Exit Do End If Loop Finally ' If an error occurred, then make sure that the undo context is cleaned up. ' Otherwise, the editor can be left in a perpetual undo context. DTE.UndoContext.Close() End Try End Sub '' NewCommentLine inserts a line break and sets up the next line to continue '' the current line-oriented comment line. '' Sub NewCommentLine() Dim textSelection As EnvDTE.TextSelection textSelection = DTE.ActiveWindow.Selection textSelection.NewLine() textSelection.Insert(Utilities.LineOrientedCommentStart()) textSelection.Insert(" ") End Sub '' SaveBackup saves a copy of the current document to a name formed '' from the doc's name appended with ".bak" '' Sub SaveBackup() Dim fileName As String Dim startPoint As EnvDTE.EditPoint Dim endPoint As EnvDTE.EditPoint Dim textDocument As TextDocument Dim text As String fileName = DTE.ActiveDocument.FullName + ".bak" ' Find the text within the document. If (DTE.ActiveDocument Is Nothing) Then ' No document to backup. Return End If textDocument = DTE.ActiveDocument.Object startPoint = textDocument.StartPoint.CreateEditPoint endPoint = textDocument.EndPoint.CreateEditPoint text = startPoint.GetText(endPoint) ' Create the temp document, save, then close. DTE.ItemOperations.NewFile("General\Text File") DTE.ActiveDocument.Object("TextDocument").Selection.Insert(text) DTE.ActiveDocument.Save(fileName) DTE.ActiveDocument.Close(EnvDTE.vsSaveChanges.vsSaveChangesNo) 'Already saved with line above, don't need to save again. End Sub '' OneFunctionView uses the VS Code Model and the editor's automation '' model to create outline sections before and after the function '' so that you only see the function that currently contains the caret. '' Sub OneFunctionView() Dim textSelection As EnvDTE.TextSelection Dim textSelectionPointSaved As EnvDTE.EditPoint Dim editPoint As EnvDTE.EditPoint textSelection = DTE.ActiveWindow.Selection textSelectionPointSaved = textSelection.ActivePoint.CreateEditPoint editPoint = textSelection.ActivePoint.CreateEditPoint '' Get the start and outline to start of doc. editPoint.MoveToPoint(editPoint.CodeElement(EnvDTE.vsCMElement.vsCMElementFunction).GetStartPoint(vsCMPart.vsCMPartWholeWithAttributes)) editPoint.LineUp() textSelection.MoveToPoint(editPoint, False) textSelection.StartOfDocument(True) textSelection.OutlineSection() 'editPoint.LineDown() '' Move editPoint back in function and outline from end to end of doc. editPoint.MoveToPoint(textSelectionPointSaved) editPoint.MoveToPoint(editPoint.CodeElement(EnvDTE.vsCMElement.vsCMElementFunction).GetEndPoint(vsCMPart.vsCMPartWholeWithAttributes)) editPoint.LineDown() textSelection.MoveToPoint(editPoint, False) textSelection.EndOfDocument(True) textSelection.OutlineSection() textSelection.MoveToPoint(textSelectionPointSaved) End Sub '' BeginningOfFunction moves the caret to the beginning of the containing '' definition. '' Sub BeginningOfFunction() Dim textSelection As EnvDTE.TextSelection Dim codeElement As EnvDTE.CodeElement textSelection = DTE.ActiveWindow.Selection Try codeElement = textSelection.ActivePoint.CodeElement(vsCMElement.vsCMElementFunction) If Not (codeElement Is Nothing) Then textSelection.MoveToPoint(codeElement.GetStartPoint(vsCMPart.vsCMPartHeader)) End If Catch End Try End Sub '' LineToTop moves the current line to the top of the window. '' Sub LineToTop() Dim textSelection As EnvDTE.TextSelection textSelection = DTE.ActiveWindow.Selection textSelection.ActivePoint.TryToShow(vsPaneShowHow.vsPaneShowTop) End Sub '' EmacsStyleIndentLine can't be bound to the tab key, but you can invoke it '' from a key to re-indent the current line relative to surrounding code '' without moving the caret. '' Sub EmacsStyleIndentLine() Dim textSelection As EnvDTE.TextSelection Dim savedTextSelectionPoint As EnvDTE.EditPoint textSelection = DTE.ActiveWindow.Selection savedTextSelectionPoint = textSelection.ActivePoint.CreateEditPoint() textSelection.SelectLine() textSelection.SmartFormat() textSelection.MoveToPoint(savedTextSelectionPoint) End Sub '' '' TopOfBlock and helper functions '' '' TopOfBlock uses indentation levels to guess where the enclosing basic '' block starts for a given line of code. This command helps you walk up '' through your code jumping to the start of blocks. '' Sub TopOfBlock() Dim textDoc As EnvDTE.TextDocument Dim editPoint As EnvDTE.EditPoint Dim selection As EnvDTE.TextSelection Dim indent As Long Dim currentIndent As Long textDoc = DTE.ActiveDocument.Object("TextDocument") editPoint = textDoc.CreateEditPoint(Nothing) selection = textDoc.Selection editPoint.LineDown(selection.ActivePoint.Line - 1) indent = IndentLevel(editPoint) If indent = -1 Then Beep() Exit Sub End If currentIndent = indent Do While currentIndent >= indent currentIndent = IndentLevel(editPoint) If currentIndent = -1 Then Beep() Exit Sub Else If currentIndent >= indent Then If editPoint.Line = 1 Then Exit Sub Else editPoint.LineUp() End If End If End If Loop selection.MoveToLineAndOffset(editPoint.Line, editPoint.LineCharOffset) End Sub '' Helper for TopOfBlock. '' Function IndentLevel(ByVal editPoint As EnvDTE.EditPoint) Dim lastLine As Long Do While True lastLine = editPoint.Line editPoint.StartOfLine() SkipSpaceRight(editPoint) If editPoint.Line <> lastLine Then ' empty line editPoint.LineUp(2) ElseIf editPoint.LineCharOffset = editPoint.LineLength + 1 Then ' line with only spaces and/or tabs editPoint.LineUp() Else IndentLevel = editPoint.DisplayColumn Exit Do End If If editPoint.Line <> lastLine - 1 Then IndentLevel = -1 Exit Function End If Loop End Function '' Helper for IndentLevel. Skips spaces and tabs to the right. '' Sub SkipSpaceRight(ByVal editPoint As EnvDTE.EditPoint) Dim line As Long Dim lastPos As Long line = editPoint.Line '' Don't call IsWhitespace here due to consing overhead. Do While editPoint.Line = line And (editPoint.GetText(1) = " " Or editPoint.GetText(1) = CStr(Microsoft.VisualBasic.ControlChars.Tab)) lastPos = editPoint.LineCharOffset editPoint.CharRight() If editPoint.LineCharOffset = lastPos Then '' end of document Exit Sub End If Loop End Sub '' '' Code outlining sample. '' '' Collapse the code to view each individual code element. '' Sub OutlineCode() Dim i As Integer Dim fileCM As FileCodeModel Dim elts As EnvDTE.CodeElements Dim elt As EnvDTE.CodeElement fileCM = DTE.ActiveDocument.ProjectItem.FileCodeModel elts = fileCM.CodeElements For i = 1 To elts.Count elt = elts.Item(i) CollapseElt(elt, elts, i) Next End Sub '' Helper to OutlineCode. Recursively outlines members of elt. '' Sub CollapseElt(ByVal elt As EnvDTE.CodeElement, ByVal elts As EnvDTE.CodeElements, ByVal loc As Integer) Dim epStart As EnvDTE.EditPoint Dim epEnd As EnvDTE.EditPoint epStart = elt.GetStartPoint(vsCMPart.vsCMPartWholeWithAttributes).CreateEditPoint() epEnd = elt.GetEndPoint(vsCMPart.vsCMPartWholeWithAttributes).CreateEditPoint() ' Copy it because we move it later. epStart.EndOfLine() If ((elt.IsCodeType()) And (elt.Kind <> EnvDTE.vsCMElement.vsCMElementDelegate)) Then Dim i As Integer Dim mems As EnvDTE.CodeElements mems = elt.Members For i = 1 To mems.Count CollapseElt(mems.Item(i), mems, i) Next ElseIf (elt.Kind = EnvDTE.vsCMElement.vsCMElementNamespace) Then Dim i As Integer Dim mems As EnvDTE.CodeElements mems = elt.Members For i = 1 To mems.Count CollapseElt(mems.Item(i), mems, i) Next End If If (epStart.LessThan(epEnd)) Then loc = loc + 1 If (loc <= elts.Count) Then epEnd.MoveToPoint(elts.Item(loc).GetStartPoint(vsCMPart.vsCMPartHeader)) epEnd.LineUp() epEnd.EndOfLine() End If epStart.OutlineSection(epEnd) End If End Sub ' Places the caret at the center of the screen. If the caret cannot be placed ' in the center of the screen (because, for example, the caret is at the bottom ' or top of the file, or there are only a couple of lines of text), then it will ' scroll the view so the caret can be seen. Sub CenterScreen() Dim textPoint As EnvDTE.TextPoint textPoint = DTE.ActiveDocument.Selection.ActivePoint textPoint.TryToShow(vsPaneShowHow.vsPaneShowCentered) End Sub ' Prints the current document with line numbers prepended to each line. Sub PrintNumberedLines() Dim textSelection As EnvDTE.TextSelection Dim textSelectionNewFile As EnvDTE.TextSelection Dim i As Integer Dim lineCount As Integer Dim newText As String textSelection = DTE.ActiveDocument.Selection textSelection.SelectAll() textSelection.Copy() textSelectionNewFile = DTE.ItemOperations.NewFile("General\Text File").Selection textSelectionNewFile.Paste() textSelectionNewFile.StartOfDocument() textSelectionNewFile.SelectAll() lineCount = textSelectionNewFile.BottomLine textSelectionNewFile.StartOfDocument() For i = 1 To (lineCount) textSelectionNewFile = DTE.ActiveDocument.Selection textSelectionNewFile.StartOfLine(EnvDTE.vsStartOfLineOptions.vsStartOfLineOptionsFirstColumn) newText = CStr(i) & ". " textSelectionNewFile.Text = newText textSelectionNewFile.LineDown(True) Next DTE.ActiveDocument.PrintOut() DTE.ActiveDocument.Close(EnvDTE.vsSaveChanges.vsSaveChangesNo) End Sub ' This macro prompts for a command to run, selects the entire file, ' runs the command, and restores the selection. So you can use it ' to quickly format the entire file without losing the current selection. Sub DoForWholeFile() Dim command As String command = InputBox("Enter a command: ") If (command <> "") Then Dim selection As EnvDTE.TextSelection Dim anchorPoint As EnvDTE.EditPoint Dim activePoint As EnvDTE.EditPoint Dim textPane As TextPane Dim cornerPoint As EnvDTE.EditPoint selection = DTE.ActiveDocument.Selection anchorPoint = selection.AnchorPoint.CreateEditPoint activePoint = selection.ActivePoint.CreateEditPoint textPane = DTE.ActiveDocument.ActiveWindow.Object.activepane cornerPoint = textPane.StartPoint.CreateEditPoint selection.StartOfDocument() selection.EndOfDocument(True) DTE.ExecuteCommand(command) selection.MoveToPoint(anchorPoint) selection.MoveToPoint(activePoint, True) textPane.TryToShow(cornerPoint, vsPaneShowHow.vsPaneShowTop) End If End Sub '' LineEmUp aligns all text in the selected lines based on word breaks. '' Useful for creating vertically aligned variable or method declarations. '' Sub LineEmUp() Dim selection As EnvDTE.TextSelection Dim editPoint As EnvDTE.EditPoint Dim rows As Long Dim howFarOut As Long = 1 Dim anyMoved As Boolean = False selection = ActiveDocument.Selection editPoint = selection.TopPoint.CreateEditPoint rows = selection.BottomPoint.Line - selection.TopPoint.Line ' Iterate to find the first row that isn't already aligned. Do While Not anyMoved Dim AnyRowValid = False ' The current character and display columns of each element in the ' current word column. Dim curCharPos(rows) As Long Dim curDispPos(rows) As Long ' The lowest possible columns at which each element could begin if ' whitespace was compressed. Dim minCharPos(rows) As Long Dim minDispPos(rows) As Long ' Iterate over each selected row. Dim arrIdx As Long = 0 Dim maxMinPosIdx As Long = -1 editPoint.MoveToLineAndOffset(selection.TopPoint.Line, 1) For arrIdx = 0 To rows - 1 Dim originalLine As Long originalLine = editPoint.Line editPoint.StartOfLine() If howFarOut > 1 Then Dim wordCount As Long For wordCount = 1 To howFarOut MoveWordRight(editPoint) Next Else SkipSpaceRight(editPoint) End If ' If we ran off the end of the line, ignore this one. If editPoint.Line > originalLine Then curCharPos(arrIdx) = -1 curDispPos(arrIdx) = -1 minCharPos(arrIdx) = -1 minDispPos(arrIdx) = -1 Else ' Determine the current display column of the EditPoint. curCharPos(arrIdx) = editPoint.LineCharOffset curDispPos(arrIdx) = editPoint.DisplayColumn ' Determine the minimum column that this element can start ' at (there maybe extra whitespace to the left that can be ' eliminated). If howFarOut > 1 Then Do While IsWhitespace(editPoint.GetText(-2)) editPoint.CharLeft() Loop End If minCharPos(arrIdx) = editPoint.LineCharOffset minDispPos(arrIdx) = editPoint.DisplayColumn ' Keep track of the maximum minpos. If maxMinPosIdx = -1 OrElse minDispPos(maxMinPosIdx) < minDispPos(arrIdx) Then maxMinPosIdx = arrIdx End If End If editPoint.LineDown() Next ' Now look at the CurPos and MinPos arrays to determine the ' leftmost column at which all the elements can be aligned. anyMoved = False For arrIdx = 0 To rows - 1 If curDispPos(arrIdx) <> -1 Then AnyRowValid = True If curDispPos(arrIdx) <> minDispPos(maxMinPosIdx) Then ' This element is not correctly aligned; move it to the ' correct column. anyMoved = True editPoint.MoveToLineAndOffset(arrIdx + selection.TopPoint.Line, curCharPos(arrIdx)) editPoint.DeleteWhitespace(vsWhitespaceOptions.vsWhitespaceOptionsHorizontal) editPoint.PadToColumn(minDispPos(maxMinPosIdx)) End If End If Next ' If we ran out of elements to align, terminate the loop. If Not AnyRowValid Then anyMoved = True End If howFarOut = howFarOut + 1 Loop FixLineEnds() End Sub '' FixLineEnds removes whitespace from the ends of all lines in the selection. '' Then for any line in the selection that ends with a semicolon, eliminates '' any whitespace between the semicolon and the previous character. '' '' This is a helper for LineEmUp and a command by itself. '' Sub FixLineEnds() Dim selection As EnvDTE.TextSelection Dim editPoint As EnvDTE.EditPoint selection = ActiveDocument.Selection editPoint = selection.TopPoint.CreateEditPoint Do While editPoint.Line < selection.BottomPoint.Line editPoint.EndOfLine() editPoint.DeleteWhitespace(vsWhitespaceOptions.vsWhitespaceOptionsHorizontal) If editPoint.GetText(-1) = ";" Then editPoint.CharLeft() editPoint.DeleteWhitespace(vsWhitespaceOptions.vsWhitespaceOptionsHorizontal) End If editPoint.LineDown() Loop End Sub '' '' The next several functions are part of FillCommentParagraph. '' '' SetFillColumn sets the column to which FillCommentParagraph fills text. '' It is a command and gets used to make sure there is a column inside '' FillColumnParagraph. Define this with an optional param so that we can '' call it from the commadn line in VS. '' Sub SetFillColumn(Optional ByVal fillColumn As String = "") If (fillColumn.Length > 0) Then DTE.Globals.VariableValue("FillColumn") = CInt(fillColumn) Else Dim column As String column = InputBox("Enter the fill column:") If (column = "") Then column = "80" End If DTE.Globals.VariableValue("FillColumn") = CInt(column) End If End Sub '' FillCommentParagraph '' '' Reformats a comment paragraph to fill lines of comments to a specified '' column without going past that column. A comment paragraph is defined by '' contiguous lines that all start at the same indentation level as lines '' of comments. '' Sub FillCommentParagraph() Dim i As Integer = 0 Dim textDoc As EnvDTE.TextDocument Dim editPoint As EnvDTE.EditPoint Dim selection As EnvDTE.TextSelection Dim linePrefix As String Dim columnLimit As Integer = 0 DTE.UndoContext.Open("Fill Comment Paragraph") Try If (DTE.Globals.VariableExists("FillColumn") = False) Then SetFillColumn() End If columnLimit = DTE.Globals.VariableValue("FillColumn") textDoc = DTE.ActiveDocument.Object("TextDocument") selection = DTE.ActiveDocument.Selection editPoint = selection.ActivePoint.CreateEditPoint() ' Determine what the existing comment formatting looks like. linePrefix = GetCommentLinePrefix(editPoint) ' Find the beginning of the paragraph. Do While editPoint.Line > 1 editPoint.LineUp() If Not IsOnNonEmptyCommentLine(editPoint, linePrefix) Then editPoint.LineDown() Exit Do End If Loop ' Iterate over each line of the comment paragraph. Do While IsOnNonEmptyCommentLine(editPoint, linePrefix) editPoint.EndOfLine() editPoint.DeleteWhitespace(vsWhitespaceOptions.vsWhitespaceOptionsHorizontal) If editPoint.DisplayColumn > columnLimit Then ' Break a long line. Do While editPoint.DisplayColumn > columnLimit MoveWordLeft(editPoint) Loop If editPoint.LineCharOffset <= linePrefix.Length + 1 Then ' If we moved so far to the left that all the text is now ' to our right, we should move one word to the right; ' otherwise, we'll be inserting an empty comment line. editPoint.MoveToLineAndOffset(editPoint.Line, linePrefix.Length + 1) MoveWordRight(editPoint) If editPoint.LineCharOffset = editPoint.LineLength + 1 Then ' Moving right one word put us back at the end of the ' line, so we don't want to insert a newline. editPoint.LineDown() GoTo SkipInsertNewline End If End If ' Insert a line break and prep the new line with the correct ' comment formatting. editPoint.Insert(CStr(Microsoft.VisualBasic.Constants.vbNewLine) + linePrefix) SkipInsertNewline: Else ' Merge some more text into a short line, if possible. Dim extraSpace As Integer Dim text As String extraSpace = columnLimit - editPoint.DisplayColumn editPoint.LineDown() If IsOnNonEmptyCommentLine(editPoint, linePrefix) Then Dim startCol As Integer Dim startDispCol As Integer Dim startRow As Integer Dim lastCol As Integer editPoint.StartOfLine() editPoint.CharRight(linePrefix.Length) startCol = editPoint.LineCharOffset startDispCol = editPoint.DisplayColumn lastCol = startCol startRow = editPoint.Line ' Determine how much text we can merge onto the previous line. Do While editPoint.DisplayColumn - startDispCol <= extraSpace And startRow = editPoint.Line lastCol = editPoint.LineCharOffset MoveWordRight(editPoint) Loop If startRow < editPoint.Line Then ' Merge the entire line into the previous one. editPoint.LineUp(editPoint.Line - startRow) editPoint.StartOfLine() editPoint.CharRight(startCol - 1) text = editPoint.GetText(editPoint.LineLength - (startCol - 1)) editPoint.StartOfLine() editPoint.Delete(editPoint.LineLength + 1) editPoint.LineUp() editPoint.EndOfLine() editPoint.Insert(" " + text) ElseIf lastCol > startCol Then ' Extract and merge a portion of the line. editPoint.CharLeft(editPoint.LineCharOffset - lastCol) text = editPoint.GetText(startCol - lastCol).Trim() editPoint.Delete(startCol - lastCol) editPoint.LineUp() editPoint.EndOfLine() editPoint.Insert(" " + text) editPoint.LineDown() Else ' There isn't enough space to merge even one word onto this line, ' so move to the next line. editPoint.LineDown() End If End If End If Loop Finally DTE.UndoContext.Close() End Try End Sub ' IsOnNonEmptyCommentLine ' ' Looks at the line of the given EditPoint and determines whether it is a ' comment line (with the same formatting as the given linePrefix) and ' contains some text (other than the comment tokens). Function IsOnNonEmptyCommentLine(ByVal editPoint As EnvDTE.EditPoint, ByVal linePrefix As String) As Boolean Dim lineText As String Dim pfxText As String editPoint.StartOfLine() lineText = editPoint.GetText(editPoint.LineLength).Trim() pfxText = linePrefix.Trim() If Left(pfxText, 2) = "/*" Or Left(pfxText, 1) = "*" Then ' special case for /*...*/ comments If (lineText.Length > 2 And (Left(lineText, 2) = "/*" Or Left(lineText, 2) = "*/")) Or (lineText.Length > 1 And Left(lineText, 1) = "*") Then IsOnNonEmptyCommentLine = True Else IsOnNonEmptyCommentLine = False End If Else ' See if the existing line has the same comment tokens as the ' given linePrefix. If lineText.Equals(pfxText) Or lineText.IndexOf(pfxText) <> 0 Then IsOnNonEmptyCommentLine = False Else IsOnNonEmptyCommentLine = True End If End If End Function ' GetCommentLinePrefix ' ' Based on the comment formatting of the given line, determines the string ' that should be prepended to new lines of text in order to maintain ' consistent formatting. Function GetCommentLinePrefix(ByVal editPoint As EnvDTE.EditPoint) As String Dim text As String Dim trimText As String Dim linePrefix As String ' Go to the beginning of the line and remove the initial whitespace to ' isolate the comment tokens. editPoint.StartOfLine() text = editPoint.GetText(editPoint.LineLength) trimText = text.TrimStart() linePrefix = Left(text, Len(text) - Len(trimText)) If Left(trimText, 2) = "/*" Then ' Special-case C-style commentextSelection. linePrefix = linePrefix + " * " Else Dim leftChar As Char leftChar = Left(trimText, 1) Do While Char.IsPunctuation(leftChar) Or Char.IsWhiteSpace(leftChar) linePrefix = linePrefix + leftChar trimText = Right(trimText, trimText.Length - 1) leftChar = Left(trimText, 1) Loop End If GetCommentLinePrefix = linePrefix End Function ' MoveWordRight ' ' Moves an EditPoint one word to the right. If the EditPoint is at the ' end of the line, it is moved to the beginning of the following line. ' I had to write this function because the built-in EditPoint.WordRight() ' method treats punctuation as word separators. This function ' recognizes only whitespace as a word separator. Sub MoveWordRight(ByRef editPoint As EnvDTE.EditPoint) Dim lineLen As Long lineLen = editPoint.LineLength If (editPoint.LineCharOffset > lineLen) Then Dim orgLine As Integer orgLine = editPoint.Line editPoint.LineDown() If (editPoint.Line > orgLine) Then editPoint.StartOfLine() End If Else ' First skip over non-whitespace characters. Do While editPoint.LineCharOffset <= lineLen And Not IsWhitespace(editPoint.GetText(1)) editPoint.CharRight() Loop ' Then skip over whitespace characters, moving to the beginning of ' the next word. Do While editPoint.LineCharOffset <= lineLen And IsWhitespace(editPoint.GetText(1)) editPoint.CharRight() Loop End If End Sub ' MoveWordLeft ' ' Moves an EditPoint one word to the left. If the EditPoint is at the ' beginning of the line, it is moved to the end of the previous line. ' I had to write this function because the built-in EditPoint.WordLeft() ' method treats punctuation as word separators. This function ' recognizes only whitespace as a word separator. Sub MoveWordLeft(ByRef editPoint As EnvDTE.EditPoint) Dim lineLen As Long lineLen = editPoint.LineLength If (editPoint.LineCharOffset = 1) Then Dim orgLine As Integer orgLine = editPoint.Line editPoint.LineUp() If (editPoint.Line < orgLine) Then editPoint.EndOfLine() End If Else ' First skip over whitespace characters. Do While editPoint.LineCharOffset > 1 And IsWhitespace(editPoint.GetText(-1)) editPoint.CharLeft() Loop ' Then skip over non-whitespace characters, moving to the beginning ' of the previous word. Do While editPoint.LineCharOffset > 1 And Not IsWhitespace(editPoint.GetText(-1)) editPoint.CharLeft() Loop End If End Sub ' IsWhitespace ' ' Looks at the given string and returns whether it is composed entirely of ' whitespace characters (tabs and spaces). Function IsWhitespace(ByVal str As String) As Boolean If str.Trim().Length = 0 Then IsWhitespace = True Else IsWhitespace = False End If End Function '' '' Finding matching lines, nonmatching lines, and counting matches '' '' ListMatchingLines prompts for a literal pattern and then lists all '' lines in the current buffer that contain the pattern. '' Sub ListMatchingLines() Dim window As Window Dim textSelection As TextSelection Dim textSelectionPointSaved As TextPoint Dim outputWindowPane As OutputWindowPane Dim findResult As EnvDTE.vsFindResult Dim textDocument As EnvDTE.TextDocument Dim lastFoundAt As Integer = 0 textDocument = DTE.ActiveDocument.Object("TextDocument") textSelection = textDocument.Selection window = DTE.ActiveDocument.Windows.Item(1) Utilities.PrepareDefaultFind("List Matching Lines") '' Set up output window pane and loop until no more matches. outputWindowPane = GetOutputWindowPane("Matching Lines") textSelection.StartOfDocument() textSelectionPointSaved = textSelection.ActivePoint.CreateEditPoint() ''GetOutputWindowPane activates Output Window, so re-activate our window. window.Activate() outputWindowPane.Clear() CType(DTE.Find, EnvDTE80.Find2).WaitForFindToComplete = True findResult = DTE.Find.Execute() While (findResult = vsFindResult.vsFindResultFound) If textSelection.AnchorPoint.Line <= lastFoundAt Then Exit While End If textSelection.SelectLine() outputWindowPane.OutputString("line " + textSelection.AnchorPoint.Line.ToString() + ": " + textSelection.Text) lastFoundAt = textSelection.AnchorPoint.Line textSelection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstColumn) findResult = DTE.Find.Execute() End While '' Restore caret to location before invoking this command. textSelection.MoveToPoint(textSelectionPointSaved) End Sub Sub ListNonMatchingLines() Dim window As EnvDTE.Window Dim textSelection As EnvDTE.TextSelection Dim textSelectionSaved As EnvDTE.TextPoint Dim outputWinPane As EnvDTE.OutputWindowPane Dim endLine As Integer Dim done As Boolean = False window = DTE.ActiveWindow textSelection = window.Selection textSelectionSaved = textSelection.ActivePoint.CreateEditPoint() endLine = textSelection.Parent.EndPoint.Line textSelection.StartOfDocument() Utilities.PrepareDefaultFind("List Non-matching Lines") DTE.Find.Target = vsFindTarget.vsFindTargetCurrentDocumentSelection '' Set up output window pane and loop until no more matches. outputWinPane = GetOutputWindowPane("Non-matching Lines") '' GetOutputWindowPane activates Output Window, so re-activate our window. window.Activate() outputWinPane.Clear() endLine = textSelection.Parent.EndPoint.Line While ((endLine <> textSelection.ActivePoint.Line) Or Not done) textSelection.SelectLine() If (DTE.Find.Execute() = vsFindResult.vsFindResultNotFound) Then outputWinPane.OutputString(textSelection.Text) End If done = InStr(DTE.StatusBar.Text, passedString) textSelection.CharLeft() textSelection.LineDown() End While '' Restore caret to location before invoking this command. textSelection.MoveToPoint(textSelectionSaved) End Sub Sub CountOccurrences() Dim textSelection As EnvDTE.TextSelection Dim textSelectionPointSaved As TextPoint Dim count As Integer = 0 Dim findResult As EnvDTE.vsFindResult Dim firstFindLocation As EnvDTE.TextPoint textSelection = DTE.ActiveWindow.Selection textSelectionPointSaved = textSelection.ActivePoint.CreateEditPoint() textSelection.StartOfDocument() If (Utilities.PrepareDefaultFind("Count Occurrences") = "") Then Return End If ' The Version 7.0 & 7.1 macros used the following While statement: ' While ((findResult = vsFindResult.vsFindResultFound) And (InStr(DTE.StatusBar.Text, "Passed") <> 1)) ' However, with the Find2.WaitForFindToComplete property the check ' for specific text to be shown in the status bar can be removed. CType(DTE.Find, EnvDTE80.Find2).WaitForFindToComplete = True findResult = DTE.Find.Execute() While (findResult = vsFindResult.vsFindResultFound) If (firstFindLocation Is Nothing) Then Dim foundSelection As EnvDTE.TextSelection foundSelection = DTE.ActiveWindow.Selection firstFindLocation = foundSelection.ActivePoint.CreateEditPoint Else Dim foundSelection As EnvDTE.TextSelection foundSelection = DTE.ActiveWindow.Selection If (firstFindLocation.EqualTo(foundSelection.ActivePoint)) Then Exit While End If End If count = count + 1 findResult = DTE.Find.Execute() End While '' Restore caret to location before invoking this command. textSelection.MoveToPoint(textSelectionPointSaved) MsgBox("There were " & count & " occurrences.") End Sub Sub InsertTime() Dim textSelection As EnvDTE.TextSelection textSelection = CType(DTE.ActiveDocument.Selection(), EnvDTE.TextSelection) textSelection.Text = System.DateTime.Now.ToLongTimeString() End Sub Sub InsertDate() Dim textSelection As EnvDTE.TextSelection textSelection = CType(DTE.ActiveDocument.Selection(), EnvDTE.TextSelection) textSelection.Text = System.DateTime.Now.ToLongDateString() End Sub Sub InsertTimeDate() Dim textSelection As EnvDTE.TextSelection textSelection = CType(DTE.ActiveDocument.Selection(), EnvDTE.TextSelection) textSelection.Text = System.DateTime.Now.ToLongDateString() + " " + System.DateTime.Now.ToLongTimeString() End Sub Function IsPrintableFile(ByVal projItem As EnvDTE.ProjectItem) As Boolean Dim fileName As String Dim extensions As New System.Collections.Specialized.StringCollection ' If you add a file to your project that is of a type that can be printed, ' then add the extension of that file type to this list: Dim exts As String() = {".cpp", ".c", ".h", ".idl", ".def", ".rgs", ".rc", ".cs", ".vb", ".xml", ".txt", ".jsl"} extensions.AddRange(exts) fileName = projItem.FileNames(1) Return extensions.Contains(System.IO.Path.GetExtension(fileName).ToLower()) End Function ' Walk the list of files in a the project selected within ' Solution Explorer, and then print the file. Sub PrintItemsInSelectedProject() Dim proj As EnvDTE.Project If DTE.ActiveSolutionProjects.Length <> 1 Then MsgBox("Select one project within the Solution Explorer, then re-run this macro.") Exit Sub End If proj = DTE.ActiveSolutionProjects(0) PrintItemsInSelectedProject(proj.ProjectItems) End Sub Private Sub PrintItemsInSelectedProject(ByVal projItems As EnvDTE.ProjectItems) Dim projItem As EnvDTE.ProjectItem For Each projItem In projItems If (IsPrintableFile(projItem) = True) Then If (projItem.IsOpen(EnvDTE.Constants.vsViewKindTextView)) Then projItem.Document.PrintOut() Else Dim doc As EnvDTE.Document doc = projItem.Open(EnvDTE.Constants.vsViewKindTextView).Document doc.PrintOut() doc.Close(vsSaveChanges.vsSaveChangesNo) End If End If PrintItemsInSelectedProject(projItem.ProjectItems) Next End Sub End Module ' Copyright (c) Microsoft Corporation. All rights reserved. '' '' These samples demonstrate how to use the VS Automation Object Model. '' They are unsupported, but you can use them as-is. They are not intended '' to demonstrate how to implement ful'' Copyright (c) Microsoft Corporation. All rights reserved. '' '' These samples demonstrate how to use the VS Automation Object Model. '' They are unsupported, but you can use them as-is. They are not intended '' to demonstrate how to implement fully rigorous commands. For example, '' if a command expects there to be selected text, but you invoke '' the macro on a blank line, the macro's behavior is undefined. '' 'Option Strict Off 'Option Explicit Off Imports EnvDTE Imports EnvDTE80 Imports System.Diagnostics Imports Microsoft.VisualBasic Imports Microsoft.VisualBasic.ControlChars Public Module VSDebugger ' This macro steps through an entire program. Sub StepOverAll() DTE.Debugger.StepOver() While DTE.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode DTE.Debugger.StepOver() End While End Sub ' This macro dumps the stack for each thread running in the current program to the ' command window. The output format is identical to that of the call-stack window ' except the current line is not printed. Sub DumpStacks() Dim commandWin As EnvDTE.CommandWindow commandWin = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindCommandWindow).Object If DTE.Debugger.CurrentProgram Is Nothing Then commandWin.OutputString("No program is currently being debugged." + vbCrLf) Else Dim myThread As EnvDTE.Thread commandWin.OutputString("Current Program: " + DTE.Debugger.CurrentProgram.Name + vbCrLf) For Each myThread In DTE.Debugger.CurrentProgram.Threads Dim myFrame As EnvDTE.StackFrame commandWin.OutputString("" + vbTab + "Thread (" + Str(myThread.ID) + " ) " + myThread.Name + vbCrLf) For Each myFrame In myThread.StackFrames Dim programModule As String Dim pos As Integer Dim functionName As String Dim args As String Dim myArg As EnvDTE.Expression Dim i As Integer = 0 pos = InStrRev(myFrame.Module, "\") functionName = myFrame.FunctionName If pos > 0 Then programModule = Right(myFrame.Module, Len(myFrame.Module) - pos) Else programModule = myFrame.Module End If 'Create the argument list For Each myArg In myFrame.Arguments If i > 0 Then args = args + ", " End If args = args + myArg.Type + " " + myArg.Name + "=" + myArg.Value i = i + 1 Next ' Output the frame information. commandWin.OutputString("" + vbTab + vbTab + programModule + ": " + functionName + "(" + args + ")" + vbCrLf) Next Next End If End Sub ' Sets a pending breakpoint at the function named "main". It marks the ' breakpoint as one set by automation. Sub AddBreakpointToMain() Dim bp As EnvDTE.Breakpoint Dim bps As EnvDTE.Breakpoints bps = DTE.Debugger.Breakpoints.Add("main") For Each bp In bps bp.Tag = "SetByMacro" Next End Sub ' Runs to the next breakpoint set, if any. Displays a messagebox indicating exactly what occurred. Sub RunToNextBreakpoint() DTE.Debugger.Go(True) ' Runs to next breakpoint or the end of the program. If DTE.Debugger.CurrentMode = dbgDebugMode.dbgBreakMode Then Dim bp As EnvDTE.Breakpoint bp = DTE.Debugger.BreakpointLastHit() ' Retrieves the bound breakpoint that was hit. If bp.Parent().Tag = "SetByMacro" Then ' Bound breakpoints always have a Pending Parent. MsgBox("Hit tagged breakpoint") bp.Enabled = False Else MsgBox("Hit untagged breakpoint") End If Else MsgBox("Program ended") End If End Sub ' This function dumps the names of all the breakpoints last hit to ' a new pane in the output window. Sub ListBreakpointsLastHit() Dim bppane As EnvDTE.OutputWindowPane Dim hitbps As EnvDTE.Breakpoints bppane = Utilities.GetOutputWindowPane("Debugger") hitbps = DTE.Debugger.AllBreakpointsLastHit If (hitbps.Count > 0) Then Dim bp As EnvDTE.Breakpoint For Each bp In DTE.Debugger.AllBreakpointsLastHit bppane.OutputString(bp.Name) Next Else bppane.OutputString("No breakpoints were hit") End If End Sub ' This function dumps the name of the breakpoints last hit to ' a new pane in the output window. Sub BreakpointLastHit() Dim bppane As EnvDTE.OutputWindowPane bppane = Utilities.GetOutputWindowPane("Debugger") If Not DTE.Debugger.BreakpointLastHit Is Nothing Then bppane.OutputString(DTE.Debugger.BreakpointLastHit.Name + vbCrLf) Else bppane.OutputString("No breakpoint was hit" + vbCrLf) End If End Sub ' This function dumps the names of all the breakpoints currently set to ' a new pane in the output window. Sub ListAllBreakpoints() Dim bppane As EnvDTE.OutputWindowPane Dim bps As EnvDTE.Breakpoints bppane = Utilities.GetOutputWindowPane("Debugger") bps = DTE.Debugger.Breakpoints If (bps.Count > 0) Then Dim bp As EnvDTE.Breakpoint For Each bp In bps bppane.OutputString(bp.Name + vbCrLf) Next Else bppane.OutputString("No breakpoints are set" + vbCrLf) End If End Sub ' This function displays the current debugger mode in a new ' pane in the output window. Sub DebuggerMode() Dim outputWinPane As EnvDTE.OutputWindowPane outputWinPane = Utilities.GetOutputWindowPane("Debugger") Select Case DTE.Debugger.CurrentMode Case dbgDebugMode.dbgBreakMode outputWinPane.OutputString("Break Mode" + vbCrLf) Case dbgDebugMode.dbgDesignMode outputWinPane.OutputString("Design Mode" + vbCrLf) Case dbgDebugMode.dbgRunMode outputWinPane.OutputString("Run Mode" + vbCrLf) End Select End Sub ' This function displays the current debugger mode in the output window. Sub ShowCurrentProcess() Dim outputWinPane As EnvDTE.OutputWindowPane Dim proc As EnvDTE.Process outputWinPane = Utilities.GetOutputWindowPane("Debugger") proc = DTE.Debugger.CurrentProcess If (proc Is Nothing) Then outputWinPane.OutputString("No process is being debugged") Else outputWinPane.OutputString("" + Str(proc.ProcessID) + ": " + proc.Name + vbCrLf) End If End Sub ' This function displays the reason break mode was entered in the output window. Sub LastBreakReason() Dim outputWinPane As EnvDTE.OutputWindowPane outputWinPane = Utilities.GetOutputWindowPane("Debugger") Select Case DTE.Debugger.LastBreakReason Case dbgEventReason.dbgEventReasonBreakpoint outputWinPane.OutputString("Breakpoint hit" + vbCrLf) Case dbgEventReason.dbgEventReasonNone outputWinPane.OutputString("No reason" + vbCrLf) Case dbgEventReason.dbgEventReasonExceptionNotHandled outputWinPane.OutputString("Exception not handled by the debuggee" + vbCrLf) Case dbgEventReason.dbgEventReasonExceptionThrown outputWinPane.OutputString("Exception thrown" + vbCrLf) End Select End Sub ' This subroutine attaches to calc.exe if it is running. Sub AttachToCalc() Dim attached As Boolean = False Dim proc As EnvDTE.Process For Each proc In DTE.Debugger.LocalProcesses If (Right(proc.Name, 8) = "calc.exe") Then proc.Attach() attached = True Exit For End If Next If attached = False Then MsgBox("calc.exe is not running") End If End Sub ' This subroutine outputs the lists of processes currently being debugged ' to the output window. Sub ListDebuggedProcesses() Dim outputWinPane As EnvDTE.OutputWindowPane Dim proc As EnvDTE.Process outputWinPane = Utilities.GetOutputWindowPane("Debugger") If DTE.Debugger.DebuggedProcesses.Count = 0 Then outputWinPane.OutputString("No processes are being debugged." + vbCrLf) Else For Each proc In DTE.Debugger.DebuggedProcesses outputWinPane.OutputString("Process: [" + Str(proc.ProcessID) + "] " + proc.Name + vbCrLf) Next End If End Sub ' This subroutine displays all the languages supported by this debugger. The list ' is output to the output window. Sub SupportedLanguages() Dim outputWinPane As EnvDTE.OutputWindowPane Dim lang As EnvDTE.Language outputWinPane = Utilities.GetOutputWindowPane("Debugger") outputWinPane.OutputString("Debugger supports the following languages:" + vbCrLf) For Each lang In DTE.Debugger.Languages outputWinPane.OutputString(lang.Name + vbCrLf) Next End Sub ' This subroutine attempts to detach the debugger from all processes ' currently being debugged. Sub DetachAll() On Error GoTo BadDetach DTE.Debugger.DetachAll() Exit Sub BadDetach: MsgBox("Could not detach from all processes.") End Sub ' This subroutine runs to the line number passed in for the currently active ' source document. The parameter is a string instead of an integer because the ' command window will only allow the passing of string parameters. Sub RunToLine(Optional ByVal line As String = "-1") If Val(line) <> -1 Then Dim textSelection As EnvDTE.TextSelection textSelection = DTE.ActiveDocument.Selection textSelection.GotoLine(Val(line)) DTE.Debugger.RunToCursor() End If End Sub ' This subroutine evaluates the given expression, displaying its value and ' the names and values of each of its immediate data members. Run from ' the command window so as to be able to pass an expression string. Sub DumpExpression(Optional ByVal expStr As String = "") Dim commandWindow As EnvDTE.CommandWindow Dim expression As EnvDTE.Expression commandWindow = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindCommandWindow).Object expression = DTE.Debugger.GetExpression(expStr, True) If expression.IsValidValue Then Dim i As Integer = 1 commandWindow.OutputString(expStr & " = " & expression.Value & vbCrLf) While i <= expression.DataMembers.Count commandWindow.OutputString(vbTab & expression.DataMembers.Item(i).Name & " = " & expression.DataMembers.Item(i).Value & vbCrLf) i = i + 1 End While Else commandWindow.OutputString(expStr & " = Invalid value") End If End Sub ' IsDebugging is a helper function for general use. Function IsDebugging() As Boolean If (DTE.Debugger Is Nothing) Then MsgBox("Debugger doesn't exist! Fatal error.") Exit Function Else IsDebugging = (DTE.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode) End If End Function End Module ed '' to demonstrate how to implement ful'' Copyright (c) Microsoft Corporation. All rights reserved. '' '' These samples demonstrate how to use the VS Automation Object Model. '' They are unsupported, but you can use them as-is. They are not intended '' to demonstrate how to implement fully rigorous commands. For example, '' if a command expects there to be selected text, but you invoke '' the macro on a blank line, the macro's behavior is undefined. '' 'Option Strict Off 'Option Explicit Off Imports EnvDTE Imports EnvDTE80 Imports System.Diagnostics Imports System.Windows Imports System.Windows.Forms Imports System Public Module Utilities ' To run the temporary macro a specified number of times, ' copy this commented out macro to the active recording module ' and uncomment it. 'Sub RepeatTempMacro() ' Dim i As Integer ' Dim num As Integer ' ' num = CType(inputbox("Repeat macro how many times? "), Integer) ' For i = 1 To num ' temporarymacro() ' Next 'End Sub '' '' Saving and loading a window layout by name. '' '' SaveView stores the current window layout into a named view. '' Sub SaveView() Dim name As String name = InputBox("Enter the name you want to save as:", "Save window layout") If (name = "") Then MsgBox("Empty string, enter a valid name.") Else DTE.WindowConfigurations.Add(name) End If End Sub '' LoadView retrieves the named window layout and applies it. '' Sub LoadView() Dim name As String name = InputBox("Which window layout would you like to load?", "Load Window Layout") If (name = "") Then MsgBox("Empty string, enter a window layout name") Else DTE.WindowConfigurations.Item(name).Apply() End If End Sub '' '' Turning on and off line numbers in the text editor's view. '' '' TurnOnLineNumbers turns on line numbers in the text editor view. '' Sub TurnOnLineNumbers() DTE.Properties("TextEditor", "Basic").Item("ShowLineNumbers").Value = True DTE.Properties("TextEditor", "PlainText").Item("ShowLineNumbers").Value = True DTE.Properties("TextEditor", "CSharp").Item("ShowLineNumbers").Value = True DTE.Properties("TextEditor", "HTML").Item("ShowLineNumbers").Value = True DTE.Properties("TextEditor", "C/C++").Item("ShowLineNumbers").Value = True DTE.Properties("TextEditor", "XML").Item("ShowLineNumbers").Value = True End Sub '' TurnOffLineNumbers turns off displaying line numbers in the text editor view. '' Sub TurnOffLineNumbers() DTE.Properties("TextEditor", "Basic").Item("ShowLineNumbers").Value = False DTE.Properties("TextEditor", "PlainText").Item("ShowLineNumbers").Value = False DTE.Properties("TextEditor", "CSharp").Item("ShowLineNumbers").Value = False DTE.Properties("TextEditor", "HTML").Item("ShowLineNumbers").Value = False DTE.Properties("TextEditor", "C/C++").Item("ShowLineNumbers").Value = False DTE.Properties("TextEditor", "XML").Item("ShowLineNumbers").Value = False End Sub '' '' Turning on and off word wrap for all languages. '' '' TurnOnWordWrap turns on word wrapping in the text editor view so that '' you don't need horizontal scroll bars while editing. '' Sub TurnOnWordWrap() DTE.Properties("TextEditor", "Basic").Item("WordWrap").Value = True DTE.Properties("TextEditor", "PlainText").Item("WordWrap").Value = True DTE.Properties("TextEditor", "CSharp").Item("WordWrap").Value = True DTE.Properties("TextEditor", "HTML").Item("WordWrap").Value = True DTE.Properties("TextEditor", "C/C++").Item("WordWrap").Value = True DTE.Properties("TextEditor", "XML").Item("WordWrap").Value = True End Sub '' TurnOffWordWrap turns off word wrapping in the text editor view. '' Sub TurnOffWordWrap() DTE.Properties("TextEditor", "Basic").Item("WordWrap").Value = False DTE.Properties("TextEditor", "PlainText").Item("WordWrap").Value = False DTE.Properties("TextEditor", "CSharp").Item("WordWrap").Value = False DTE.Properties("TextEditor", "HTML").Item("WordWrap").Value = False DTE.Properties("TextEditor", "C/C++").Item("WordWrap").Value = False DTE.Properties("TextEditor", "XML").Item("WordWrap").Value = False End Sub '' '' The next few routines demonstrate walking a project in a project-independent way. '' This example is important due to the way VC implements its '' ProjectItems collection. VC lists all files in its top-level ProjectItems '' collection, and it lists those files in the ProjectItems collections '' associated with each folder node. However, the ProjectItem.Collection '' property always returns the ProjectItems collection where the item '' is hierarchically. Only files actually shown directly under the '' the project node in Solution Explorer return the Project.ProjectItems '' collection for ProjectItem.Collection. '' '' ListProj iterates all the items in a project and writes their names, '' including folder node names and using indentation to show the '' hierarchy of the project. The output appears in the Output Window by '' default, but if you invoke this in the Command Window, it delivers its '' output to the Command Window. '' Sub ListProj() Dim project As Project Dim projectObjects As Object() Dim window As Window Dim target As Object window = DTE.Windows.Item(Constants.vsWindowKindCommandWindow) projectObjects = DTE.ActiveSolutionProjects If projectObjects.Length = 0 Then Exit Sub End If project = DTE.ActiveSolutionProjects(0) If (DTE.ActiveWindow Is window) Then target = window.Object Else target = GetOutputWindowPane("List Project") target.Clear() End If ListProjAux(project.ProjectItems(), 0, target) End Sub Sub ListProjAux(ByVal projectItems As EnvDTE.ProjectItems, ByVal level As Integer, ByVal outputWinPane As Object) Dim projectItem As EnvDTE.ProjectItem For Each projectItem In projectItems '' Ignore item if it is not rooted in this collection (check for VC project model). If projectItem.Collection Is projectItems Then Dim projectItems2 As EnvDTE.ProjectItems Dim notSubCollection As Boolean OutputItem(projectItem, level, outputWinPane) '' Recurse if this item has subitems ... projectItems2 = projectItem.ProjectItems notSubCollection = projectItems2 Is Nothing If Not notSubCollection Then ListProjAux(projectItems2, level + 1, outputWinPane) End If End If Next End Sub Sub OutputItem(ByVal projectItem As EnvDTE.ProjectItem, ByVal level As Integer, ByVal outputWinPane As Object) Dim i As Integer = 0 While (i < level) outputWinPane.OutputString(" ") i = i + 1 End While outputWinPane.OutputString(projectItem.FileNames(1)) outputWinPane.OutputString(Microsoft.VisualBasic.Constants.vbCrLf) End Sub '' '' Miscellaneous commands '' '' This command wraps a classic COM typelib, runs tlbimp to produce '' managed wrappers, puts that DLL in the VSMacros rundir (the PublicAssemblies '' subdirectory where you installed devenv.exe), and adds a project reference '' to the managed wrappers. '' '' NOTE: If you run this while the macros debugger is running, you will see an error. '' This macro should only be run from the Macros Explorer inside of Visual Studio. Sub AddClassicComRef() Dim systemDirectory, outputFileName, outputDirectory As String Dim sdkDirectory, macroProjectName As String Dim projectToAddReferenceTo As VSLangProj.VSProject Dim openFileDialog As Forms.FileDialog Dim tlbimpPath As Microsoft.Win32.RegistryKey Dim winptr As WinWrapper Try winptr = New WinWrapper openFileDialog = New Forms.OpenFileDialog ' Set the initial directory to SystemDrive. systemDirectory = System.Environment.SystemDirectory() systemDirectory = Left(systemDirectory, InStr(systemDirectory, "\", CompareMethod.Text)) openFileDialog.InitialDirectory = systemDirectory openFileDialog.Filter = "Type Libraries (*.tlb)|*.tlb|DLLs (*.dll)|*.dll|All files (*.*)|*.*" openFileDialog.FilterIndex = 1 openFileDialog.Title = "Open COM type library" If openFileDialog.ShowDialog(winptr) = Forms.DialogResult.OK Then ' Create the output file name. outputFileName = Right(openFileDialog.FileName, Len(openFileDialog.FileName) - Len(System.Environment.CurrentDirectory) - 1) outputFileName = Left(outputFileName, InStr(outputFileName, ".", CompareMethod.Text) - 1) outputFileName = outputFileName & ".dll" ' Set the output directory to the VsMacros dir. outputDirectory = Left(DTE.FullName, InStr(DTE.FullName, "devenv.exe", CompareMethod.Text) - 1) outputDirectory = outputDirectory & "PublicAssemblies\" tlbimpPath = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("software\microsoft\.NetFramework") If Not tlbimpPath Is Nothing Then sdkDirectory = tlbimpPath.GetValue("SDKInstallRootv2.0", "") & "bin" End If If sdkDirectory = "bin" Then MsgBox("Unable to get tlbimp.exe location from registry") Exit Sub End If Microsoft.VisualBasic.ChDir(sdkDirectory) Microsoft.VisualBasic.Shell("cmd /c tlbimp.exe """ & openFileDialog.FileName & """ /out:""" & outputDirectory & outputFileName & """", AppWinStyle.NormalFocus, True) ' Get the project to add refernce to. macroProjectName = InputBox("Please enter the project to add the reference to (entering nothing or canceling will default to the first project in the solution)", "AddComReference") If Len(macroProjectName) = 0 Then ' If no name specified, adds to the first macro project. projectToAddReferenceTo = DTE.MacrosIDE.Solution.Projects.Item(1).Object Else Dim project As EnvDTE.Project For Each project In DTE.MacrosIDE.Solution.Projects If project.Name = macroProjectName Then projectToAddReferenceTo = project.Object End If Next End If If projectToAddReferenceTo Is Nothing Then MsgBox("Was unable to grab Macros solution project") Exit Sub End If openFileDialog.FileName = outputDirectory & outputFileName If openFileDialog.CheckFileExists() = False Then MsgBox("Was unable to create COM+ wrapper") Exit Sub End If If projectToAddReferenceTo.References.Add(outputDirectory & outputFileName) Is Nothing Then MsgBox("Was unable to add the reference") End If End If Catch err As System.Exception MsgBox(err.Message) End Try End Sub '' FindCase launches the Find dialog and sets case sensitivity on. '' Sub FindCase() DTE.ExecuteCommand("Edit.Find") DTE.Find.MatchCase = True End Sub '' FindLastTarget launches the Find dialog guaranteeing to use last '' find target, overriding the default tools option that causes '' Find to pick up an unselected word from the editor. '' Sub FindLastTarget() Dim findWhatLast As String findWhatLast = DTE.Find.FindWhat ' Fetch before launching dialog to return last pattern. DTE.ExecuteCommand("Edit.Find") DTE.Find.FindWhat = findWhatLast End Sub '' FindLine launches the Find dialog, seeding pattern with current line. '' Sub FindLine() Dim textSelection As TextSelection textSelection = DTE.ActiveDocument.Selection textSelection.CharLeft(True) DTE.ExecuteCommand("Edit.Find") DTE.Find.FindWhat = textSelection.Text End Sub '' ListModifiedDocuments lists in the Output Window all the open documents '' that are currently dirty (need to be saved). '' Sub L      !"#$%&)N*+,-./0123456789:;<=>?@ABCDEPGHIJKLMNOjQRSTUVWXYZ[\]^_`abcdefghiklmnopqrstuvwxyz{|}~istModifiedDocuments() Dim window As Window Dim target As Object Dim document As EnvDTE.Document window = DTE.Windows.Item(Constants.vsWindowKindCommandWindow) If (DTE.ActiveWindow Is window) Then target = window.Object Else target = GetOutputWindowPane("Modified Documents") target.clear() End If For Each document In DTE.Documents If Not document.Saved Then target.OutputString(document.Name & " " & document.FullName & Microsoft.VisualBasic.Constants.vbCrLf) End If Next End Sub '' 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 End If 'we have a function Next 'code elt member Finally DTE.UndoContext.Close() End Try End Sub '' ListMacroSamples demonstrates using the UIHierarchy object that some VS '' tool windows use, such as the Macros Expl and Solution Expl windows. '' Sub ListMacroSamples() Dim uiHierarchy As UIHierarchy Dim samplesUIHierarchy As UIHierarchyItem Dim outputWindowPane As OutputWindowPane Dim uiHierarchyItem As UIHierarchyItem uiHierarchy = DTE.Windows.Item(Constants.vsWindowKindMacroExplorer).Object samplesUIHierarchy = uiHierarchy.GetItem("Macros\Samples") outputWindowPane = Utilities.GetOutputWindowPane("List Macros") outputWindowPane.Clear() samplesUIHierarchy.UIHierarchyItems.Expanded = True For Each uiHierarchyItem In samplesUIHierarchy.UIHierarchyItems Dim macroUIHierarchyItem As UIHierarchyItem outputWindowPane.OutputString(uiHierarchyItem.Name & Microsoft.VisualBasic.Constants.vbCrLf) uiHierarchyItem.UIHierarchyItems.Expanded = True For Each macroUIHierarchyItem In uiHierarchyItem.UIHierarchyItems outputWindowPane.OutputString(" " & macroUIHierarchyItem.Name & Microsoft.VisualBasic.Constants.vbCrLf) Next Next End Sub '' '' Helper functions for this and other modules. '' Function LineOrientedCommentStart(Optional ByVal document As Document = Nothing) As String Dim extension As String If (document Is Nothing) Then document = DTE.ActiveDocument End If extension = document.Name If (extension.EndsWith(".cs") Or extension.EndsWith(".cpp") Or extension.EndsWith(".h") Or extension.EndsWith(".idl") Or extension.EndsWith(".jsl")) Then Return "//" ElseIf (extension.EndsWith(".vb")) Then Return "'" Else Throw New Exception("Unrecognized file type. You can add this file type by modifying the function Utilities.LineOrientedCommentStart to include the extension of this file.") End If End Function Function GetOutputWindowPane(ByVal Name As String, Optional ByVal show As Boolean = True) As OutputWindowPane Dim window As Window Dim outputWindow As OutputWindow Dim outputWindowPane As OutputWindowPane window = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput) If show Then window.Visible = True outputWindow = window.Object Try outputWindowPane = outputWindow.OutputWindowPanes.Item(Name) Catch e As System.Exception outputWindowPane = outputWindow.OutputWindowPanes.Add(Name) End Try outputWindowPane.Activate() Return outputWindowPane End Function Function PrepareDefaultFind(ByVal prompt As String) As String Dim what As String DTE.Find.MatchWholeWord = False DTE.Find.Action = vsFindAction.vsFindActionFind DTE.Find.Target = vsFindTarget.vsFindTargetCurrentDocument DTE.Find.MatchCase = False DTE.Find.Backwards = False DTE.Find.MatchInHiddenText = True DTE.Find.PatternSyntax = vsFindPatternSyntax.vsFindPatternSyntaxLiteral what = InputBox(prompt) If (what <> "") Then DTE.Find.FindWhat = what End If Return what End Function End Module '' This class is used to set the proper parent to any UI that you may display from within a macro. '' See the AddClassicComRef macro for an example of how this is used Public Class WinWrapper Implements System.Windows.Forms.IWin32Window Overridable ReadOnly Property Handle() As System.IntPtr Implements System.Windows.Forms.IWin32Window.Handle Get Dim iptr As New System.IntPtr(DTE.MainWindow.HWnd) Return iptr End Get End Property End Class te how to use the VS Automation Object Model. '' They are unsupported, but you can use them as-is. They are not intended '' to demonstrate how to implement ful'' Copyright (c) Microsoft Corporation. All rights reserved. '' '' These samples demonstrate how to use the VS Automation Object Model. '' They are unsupported, but you can use them as-is. They are not intended '' to demonstrate how to implement fully rigorous commands. For example, '' if a command expects there to be selected text, but you invoke '' the macro on a blank line, the macro's behavior is undefined. '' Option Strict Off Option Explicit Off Imports EnvDTE Imports EnvDTE80 Imports System.Diagnostics Public Module MakeAddin ' This sample converts a macros project into an Add-in by moving the necessary code from ' the macro project to the Add-in. Sub MakeAddinFromMacroProj() Dim projItem As EnvDTE.ProjectItem Dim queryStatusCode As String Dim execCode As String Dim onConnectionCode As String Dim execEditPoint As EnvDTE.EditPoint Dim proj As EnvDTE.Project Dim macroProject As EnvDTE.Project Dim connectProjectItem As EnvDTE.ProjectItem Dim objExecCodeElement As EnvDTE.CodeElement Dim queryStatusCodeElement As EnvDTE.CodeElement Dim onConnectionCodeElement As EnvDTE.CodeElement Dim connectCodeElement As EnvDTE.CodeElement Dim macroProjectSrc As String Dim completionMessage As String ' Try to verify that the item is an Add-in. Try Dim members As EnvDTE.CodeElements proj = DTE.ActiveSolutionProjects(0) connectProjectItem = proj.ProjectItems.Item("Connect.vb") connectCodeElement = connectProjectItem.FileCodeModel.CodeElements.Item("Connect") members = CType(connectCodeElement, CodeType).Members objExecCodeElement = members.Item("Exec") queryStatusCodeElement = members.Item("QueryStatus") onConnectionCodeElement = members.Item("OnConnection") Catch MsgBox("Could not find the proper items in the project." + vbLf + "To use this macro run the Add-in wizard, select VB as the programming language and select to create a Tools Menu item.", MsgBoxStyle.Exclamation, "CreateAddinFromMacros") Exit Sub End Try If (MsgBox("Warning: Running this macro will replace the Exec, QueryStatus, and OnConnection of your Add-in." + vbLf + vbLf + _ "Do you wish to continue?", MsgBoxStyle.YesNo + MsgBoxStyle.Exclamation, "Create Addin From Macros") = MsgBoxResult.No) Then Return End If macroProjectSrc = InputBox("Enter the name of the Macro Project to create an Add-in out of") If Len(macroProjectSrc) = 0 Then ' If no name specified, adds to the first macro project. macroProject = DTE.MacrosIDE.Solution.Projects.Item(1) Else Dim objProjenum As EnvDTE.Project For Each objProjenum In DTE.MacrosIDE.Solution.Projects If objProjenum.Name = macroProjectSrc Then macroProject = objProjenum End If Next End If If macroProject Is Nothing Then MsgBox("Could not find the specified macro project", MsgBoxStyle.Exclamation, "Make Add-in From Macro Project") Exit Sub End If ' Generate the beginning part of the Exec, QueryStatus, and OnConnection code: execCode = "Public Sub Exec(ByVal commandName As String, ByVal executeOption As vsCommandExecOption, ByRef varIn As Object, ByRef varOut As Object, ByRef handled As Boolean) Implements IDTCommandTarget.Exec" + vbLf execCode = execCode + " handled = False" + vbLf execCode = execCode + " If (executeOption = vsCommandExecOption.vsCommandExecOptionDoDefault) Then" + vbLf queryStatusCode = "Public Sub QueryStatus(ByVal commandName As String, ByVal neededText As vsCommandStatusTextWanted, ByRef status As vsCommandStatus, ByRef commandText As Object) Implements IDTCommandTarget.QueryStatus" + vbLf queryStatusCode = queryStatusCode + "status = vsCommandStatus.vsCommandStatusUnsupported" + vbLf queryStatusCode = queryStatusCode + "If neededText = EnvDTE.vsCommandStatusTextWanted.vsCommandStatusTextWantedNone Then" + vbLf onConnectionCode = "Public Sub OnConnection(ByVal application As Object, ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, ByRef custom As System.Array) Implements IDTExtensibility2.OnConnection" + vbLf onConnectionCode = onConnectionCode + "_applicationObject = CType(Application, EnvDTE80.DTE2)" + vbLf onConnectionCode = onConnectionCode + "_addInInstance = CType(addInInst, EnvDTE.AddIn)" + vbLf onConnectionCode = onConnectionCode + "If connectMode = ext_ConnectMode.ext_cm_UISetup Then" + vbLf onConnectionCode = onConnectionCode + "Dim objAddIn As AddIn = CType(addInInst, AddIn)" + vbLf onConnectionCode = onConnectionCode + "Dim CommandObj As Command" + vbLf onConnectionCode = onConnectionCode + "Dim objCommandBar As CommandBar" + vbLf + vbLf onConnectionCode = onConnectionCode + "'If your command no longer appears on the appropriate command bar, or if you would like to re-create the command," + vbLf onConnectionCode = onConnectionCode + "' close all instances of Visual Studio .NET, open a command prompt (MS-DOS window), and run the command 'devenv /setup'." + vbLf onConnectionCode = onConnectionCode + "objCommandBar = CType(_applicationObject.Commands.AddCommandBar(""" + macroProject.Name + """, vsCommandBarType.vsCommandBarTypeMenu, _applicationObject.CommandBars.Item(""Tools"")), Microsoft.VisualStudio.CommandBars.CommandBar)" + vbLf + vbLf ' Walk each item in the macro project, and duplicate it in the Add-in project. For Each projItem In macroProject.ProjectItems Dim win As EnvDTE.Window = projItem.Open(EnvDTE.Constants.vsViewKindCode) Dim doc As EnvDTE.Document = win.Document Dim textDoc As EnvDTE.TextDocument = doc.Object("TextDocument") Dim docText As String = textDoc.StartPoint.CreateEditPoint().GetText(textDoc.EndPoint) If (True) Then '((projItem.FileCodeModel.CodeElements.Item(1).Kind = vsCMElement.vsCMElementModule) Or (projItem.FileCodeModel.CodeElements.Item(1).Kind = vsCMElement.vsCMElementClass)) Then Dim newTextDocument As EnvDTE.TextDocument Dim newProjectItem As EnvDTE.ProjectItem Dim textSel As EnvDTE.TextSelection Dim newCodeModel As FileCodeModel Dim moduleCodeElement As EnvDTE.CodeElement Dim codeElt As EnvDTE.CodeElement newProjectItem = DTE.ItemOperations.AddNewItem("Common Items\Code\Module", projItem.Name + ".vb") newTextDocument = newProjectItem.Document.Object("TextDocument") ' When adding a new item (from ItemOperations.AddNewItem), it places some default code ' into the new file. Delete that code here: newTextDocument.Selection.SelectAll() textSel = newTextDocument.Selection textSel.Delete() ' EnvironmentEvents already has 'Option Strict Off', don't do it again. If (projItem.Name <> "EnvironmentEvents") Then textSel.Insert("Option Strict Off" + vbLf) End If textSel.Insert(docText) ' Macros require the module name to be the same as the file name of the ' item. Use that here to find the module in the code model: newCodeModel = newProjectItem.FileCodeModel() moduleCodeElement = newCodeModel.CodeElements.Item(projItem.Name) textSel = newTextDocument.Selection textSel.MoveToPoint(moduleCodeElement.GetStartPoint(vsCMPart.vsCMPartWhole), False) textSel.EndOfLine(False) ' If the file being generated is a class, then the DTE variable must be shared. If (projItem.FileCodeModel.CodeElements.Item(1).Kind = vsCMElement.vsCMElementClass) Then textSel.Insert(vbLf + vbTab + "public shared DTE as EnvDTE80.DTE2") Else textSel.Insert(vbLf + vbTab + "public Dim DTE as EnvDTE80.DTE2") End If ' Now create the QueryStatus, Exec & OnConnection for the Add-in: For Each codeElt In CType(moduleCodeElement, CodeType).Members() If (codeElt.Kind = vsCMElement.vsCMElementFunction) Then Dim codeFunc As EnvDTE.CodeFunction = codeElt If (IsMacroCallableFunction(codeFunc) = True) Then Dim commandName As String = proj.Name + ".Connect." + codeFunc.Name execCode = execCode + "If commandName = """ + commandName + """ Then" + vbLf execCode = execCode + "handled = True" + vbLf execCode = execCode + projItem.Name + ".DTE = _applicationObject" + vbLf execCode = execCode + projItem.Name + "." + codeFunc.Name + "()" + vbLf execCode = execCode + "Exit Sub" + vbLf + "End If" + vbLf queryStatusCode = queryStatusCode + "If commandName = """ + commandName + """Then" + vbLf queryStatusCode = queryStatusCode + "status = CType(vsCommandStatus.vsCommandStatusEnabled + vsCommandStatus.vsCommandStatusSupported, vsCommandStatus)" + vbLf + "End If" + vbLf onConnectionCode = onConnectionCode + "CommandObj = _applicationObject.Commands.AddNamedCommand(objAddIn, """ + codeFunc.Name + """, """ + codeFunc.Name + """, ""TODO: Enter your command description"", True, 59, Nothing, 1 + 2) '1+2 == vsCommandStatusSupported+vsCommandStatusEnabled" + vbLf onConnectionCode = onConnectionCode + "CommandObj.AddControl(objCommandBar)" + vbLf End If End If Next End If Next ' Generate the end portion of the Exec, QueryStatus, and OnConnection methods, ' and then replace the code in the Add-in with the generated code. execCode = execCode + "End If" + vbLf + "End Sub" + vbLf objExecCodeElement = CType(connectCodeElement, CodeType).Members().Item("Exec") execEditPoint = objExecCodeElement.GetStartPoint(vsCMPart.vsCMPartWhole).CreateEditPoint() execEditPoint.Delete(objExecCodeElement.GetEndPoint(vsCMPart.vsCMPartWhole)) execEditPoint.Insert(execCode) queryStatusCode = queryStatusCode + vbLf + "End If" + vbLf + "End Sub" queryStatusCodeElement = CType(connectCodeElement, CodeType).Members().Item("QueryStatus") execEditPoint = queryStatusCodeElement.GetStartPoint(vsCMPart.vsCMPartWhole).CreateEditPoint() execEditPoint.Delete(queryStatusCodeElement.GetEndPoint(vsCMPart.vsCMPartWhole)) execEditPoint.Insert(queryStatusCode) onConnectionCode = onConnectionCode + "Else" + vbLf onConnectionCode = onConnectionCode + "'If you are not using events, you may wish to remove some of these to increase performance." + vbLf onConnectionCode = onConnectionCode + "EnvironmentEvents.DTEEvents = CType(_applicationObject.Events.DTEEvents, EnvDTE.DTEEvents)" + vbLf onConnectionCode = onConnectionCode + "EnvironmentEvents.DocumentEvents = CType(_applicationObject.Events.DocumentEvents(Nothing), EnvDTE.DocumentEvents)" + vbLf onConnectionCode = onConnectionCode + "EnvironmentEvents.WindowEvents = CType(_applicationObject.Events.WindowEvents(Nothing), EnvDTE.WindowEvents)" + vbLf onConnectionCode = onConnectionCode + "EnvironmentEvents.TaskListEvents = CType(_applicationObject.Events.TaskListEvents(""""), EnvDTE.TaskListEvents)" + vbLf onConnectionCode = onConnectionCode + "EnvironmentEvents.FindEvents = CType(_applicationObject.Events.FindEvents, EnvDTE.FindEvents)" + vbLf onConnectionCode = onConnectionCode + "EnvironmentEvents.OutputWindowEvents = CType(_applicationObject.Events.OutputWindowEvents(""""), EnvDTE.OutputWindowEvents)" + vbLf onConnectionCode = onConnectionCode + "EnvironmentEvents.SelectionEvents = CType(_applicationObject.Events.SelectionEvents, EnvDTE.SelectionEvents)" + vbLf onConnectionCode = onConnectionCode + "EnvironmentEvents.SolutionItemsEvents = CType(_applicationObject.Events.SolutionItemsEvents, EnvDTE.ProjectItemsEvents)" + vbLf onConnectionCode = onConnectionCode + "EnvironmentEvents.MiscFilesEvents = CType(_applicationObject.Events.MiscFilesEvents, EnvDTE.ProjectItemsEvents)" + vbLf onConnectionCode = onConnectionCode + "EnvironmentEvents.DebuggerEvents = CType(_applicationObject.Events.DebuggerEvents, EnvDTE.DebuggerEvents)" + vbLf onConnectionCode = onConnectionCode + "End If" + vbLf onConnectionCode = onConnectionCode + "End Sub" onConnectionCodeElement = CType(connectCodeElement, CodeType).Members().Item("OnConnection") execEditPoint = onConnectionCodeElement.GetStartPoint(vsCMPart.vsCMPartWhole).CreateEditPoint() execEditPoint.Delete(onConnectionCodeElement.GetEndPoint(vsCMPart.vsCMPartWhole)) execEditPoint.Insert(onConnectionCode) ' Reference all the assemblies that the macro project references. CopyReferences(proj, macroProject) ' Macro projects have a hidden reference to System.Windows.Forms. If you use any ' code that calls MsgBox, you will get odd errors when trying to compile the Add-in generated from ' a macro project if you do not add a reference to that assembly. proj.Object.References.Add("System.Windows.Forms.dll") ' Clean up the code in Connect.vb (it can look nasty if you do not do this). Try Dim connectTextSelection As EnvDTE.TextSelection = connectProjectItem.Document.Selection() connectTextSelection.SelectAll() connectTextSelection.SmartFormat() connectTextSelection.Collapse() Catch End Try completionMessage = "Add-in generation complete" + vbLf + vbLf completionMessage = completionMessage + "To make sure your Add-in compiles, you need to perform two actions:" + vbLf completionMessage = completionMessage + "1) If you had any modules with an 'Option Explicit', a duplicate will appear in the generated module. You need to remove the duplicate." + vbLf completionMessage = completionMessage + "2) Any calls to automation methods/properties not prepended with 'DTE.' will need to have these manually added (for example, change 'ActiveDocument()' to 'DTE.ActiveDocument()')." MsgBox(completionMessage, MsgBoxStyle.Information, "Make Add-in From Macro Project") End Sub ' Copies the references from one project to another. Sub CopyReferences(ByVal objProjectDest As EnvDTE.Project, ByVal objProjectSrc As EnvDTE.Project) Dim objReferenceSrc As VSLangProj.Reference Dim objReferencesDest As VSLangProj.References objReferencesDest = objProjectDest.Object.References For Each objReferenceSrc In objProjectSrc.Object.References If (objReferenceSrc.Path <> "") Then If (objReferenceSrc.Name <> "EnvDTE") And (objReferenceSrc.Name <> "EnvDTE80") And (objReferenceSrc.Name <> "Microsoft.VisualStudio.CommandBars") Then Try objReferencesDest.Add(objReferenceSrc.Path) Catch MsgBox("Could not add a reference to " & objReferenceSrc.Path & vbLf & "Try adding a reference manually.") End Try End If End If Next End Sub ' Using the rules of what is or is not a macro, determines ' if the CodeFunction is a macro. Function IsMacroCallableFunction(ByVal codeFunc As EnvDTE.CodeFunction) Dim paramText As String Dim param As EnvDTE.CodeParameter ' Sub/Function that are Private cannot be called. If (codeFunc.Access = vsCMAccess.vsCMAccessPrivate) Then Return False End If ' A macro must contain either 0 parameters or all parameters must be optional strings. ' If there are no args, short circuit here. If (codeFunc.Parameters.Count = 0) Then Return True End If ' The method has parameters, make sure they are Optional strings. For Each param In codeFunc.Parameters paramText = param.GetStartPoint(vsCMPart.vsCMPartWhole).CreateEditPoint().GetText(param.GetEndPoint(vsCMPart.vsCMPartWhole)) If (paramText.StartsWith("Optional ") = False) Then Return False ElseIf (param.Type.TypeKind <> vsCMTypeRef.vsCMTypeRefString) Then Return False End If Next Return True End Function End Module e contains macros from the Developer Studio 6.0 macros samples '' ported to the VSMacros IDE. Because these macros are almost exactly as '' they were in the VC++ v6 product,'' Copyright (c) Microsoft Corporation. All rights reserved. '' '' This module contains macros from the Developer Studio 6.0 macros samples '' ported to the VSMacros IDE. Because these macros are almost exactly as '' they were in the VC++ v6 product, they may not show the best way to write '' the same macros today. '' '' These samples demonstrate how to use the VS Automation Object Model. '' They are unsupported, but you can use them as-is. They are not intended '' to demonstrate how to implement fully rigorous commands. For example, '' if a command expects there to be selected text, but you invoke '' the macro on a blank line, the macro's behavior is undefined. '' Option Strict Off Option Explicit Off Imports EnvDTE Imports EnvDTE80 Imports System.Diagnostics Imports Microsoft.VisualBasic Imports Microsoft.VisualBasic.ControlChars Public Module DevStudio6Editor Dim ParamArr() As String Dim previousSelection As String Dim completionWords As String Dim completionWordsIndex As Integer Sub PrintAllOpenDocuments() ' Description: Prints all open, active documents. Dim doc As EnvDTE.Document For Each doc In DTE.Documents() doc.PrintOut() Next End Sub Sub MultiplePastes() ' Description: Performs a paste of what is on the clipboard multiple times. ' Inserts linefeeds as newline sequences between pastes. Dim NumPastes As Integer Dim times As String times = InputBox("Enter the number of times to paste") NumPastes = CInt(times) Dim i As Integer For i = 1 To NumPastes DTE.ActiveDocument.Selection.paste() ' Because the selection remains active, the following 2 lines ' clear the selection, while keeping the cursor in the same place. ' There are better ways to do this with the updated TextSelection object. DTE.ActiveDocument.Selection.LineUp() DTE.ActiveDocument.Selection.LineDown() DTE.ActiveDocument.Selection.text() = CStr(Lf) Next End Sub Sub CommentOut() ' Description: Comments out a selected block of text. Dim win As EnvDTE.Window Dim TypeOfFile, StartLine, EndLine, Temp As Integer Dim CommentType As String win = DTE.ActiveWindow If win.Type <> EnvDTE.vsWindowType.vsWindowTypeDocument Then MsgBox("This macro can only be run when a text editor window is active.") Else TypeOfFile = FileType(DTE.ActiveDocument) If TypeOfFile > 0 And TypeOfFile < 5 Then ' C & Java use the same ' style of commentextSelection. DTE.ActiveDocument.Selection.text() = "/*" & DTE.ActiveDocument.Selection.text() & "*/" ElseIf TypeOfFile = 5 Then DTE.ActiveDocument.Selection.text() = "<!-- " & DTE.ActiveDocument.Selection.text() & " -->" ElseIf TypeOfFile = 6 Or TypeOfFile = 7 Then ' Because there is no group comment as in the other file types, ' we must iterate through each line, and prepend a ' to the line. ' Also, because VBS/DEF does not have a 'end the comment at this ' particular column' delimiter, entire lines of code rather than sections ' must be commented out. If TypeOfFile = 6 Then CommentType = " ' " Else CommentType = " ; " End If StartLine = DTE.ActiveDocument.Selection.TopLine EndLine = DTE.ActiveDocument.Selection.BottomLine If EndLine < StartLine Then Temp = StartLine StartLine = EndLine EndLine = Temp End If If EndLine = StartLine Then DTE.ActiveDocument.Selection.text() = CommentType & DTE.ActiveDocument.Selection.text() Else For i = StartLine To EndLine DTE.ActiveDocument.Selection.GotoLine(i) DTE.ActiveDocument.Selection.SelectLine() DTE.ActiveDocument.Selection.text() = CommentType & DTE.ActiveDocument.Selection.text() Next End If Else MsgBox("Unable to comment out the highlighted text" + CStr(Lf) + "because the file type was unrecognized." + CStr(Lf) + "If the file has not yet been saved, " + CStr(Lf) + "please save it and try again.") End If End If End Sub Function FileType(ByVal doc As EnvDTE.Document) As Integer ' This routine has many uses if you are trying to determine the type of a source ' file. ' Return value: 0 Unknown file type ' 1 C-related file, this includes .c, .cpp, .cxx, .h, .hpp, .hxx ' 2 Java-related file, this includes .jav, .java ' 3 ODL-style file, .odl, .idl ' 4 Resource file, .rc, .rc2 ' 5 HTML-style file, this includes .html, and .htm ' 6 VBS-style file, .dsm ' 7 Def-style file, .def ' USE: Pass this function the document for which you want to get information. Dim pos As Integer Dim ext As String ext = doc.Name FileType = 0 pos = InStr(ext, ".") If pos > 0 Then Do While pos <> 1 ext = Mid(ext, pos, Len(ext) - pos + 1) pos = InStr(ext, ".") Loop ext = LCase(ext) End If If ext = ".rc" Or ext = ".rc2" Then FileType = 4 ElseIf doc.Language = EnvDTE.Constants.dsCPP Then FileType = 1 ElseIf doc.Language = EnvDTE.Constants.dsJava Then FileType = 2 ElseIf doc.Language = EnvDTE.Constants.dsIDL Then FileType = 3 ElseIf doc.Language = EnvDTE.Constants.dsHTML_IE3 Then FileType = 5 ElseIf ext = ".xml" Then FileType = 5 ElseIf doc.Language = EnvDTE.Constants.dsHTML_RFC1866 Then FileType = 5 ElseIf doc.Language = EnvDTE.Constants.dsVBSMacro Then ' FileType = 6 ElseIf ext = ".def" Then FileType = 7 Else FileType = 0 End If End Function Sub ToggleCommentStyle() Dim CmtBlock As String Dim TmpBlock As String Dim selection As EnvDTE.TextSelection ' Description: Toggles between comment styles /* and //. TmpBlock = "" selection = DTE.ActiveDocument.Selection CmtBlock = selection.Text() TypeOfFile = FileType(DTE.ActiveDocument) If TypeOfFile > 0 And TypeOfFile < 5 Then ' C/C++ style comment. ' Get the first two characters of the comment block. Trim(CmtBlock) If InStr(CmtBlock, "//") <> 0 Then Do While InStr(CmtBlock, "//") <> 0 TmpBlock = TmpBlock + Left(CmtBlock, InStr(CmtBlock, "//") - 1) CmtBlock = Right(CmtBlock, (Len(CmtBlock) - InStr(CmtBlock, "//") - 1)) Loop CmtBlock = "/*" + TmpBlock + CmtBlock + "*/" ElseIf InStr(CmtBlock, "/*") <> 0 Then CmtBlock = Right(CmtBlock, Len(CmtBlock) - InStr(CmtBlock, "/*") - 1) Do While InStr(CmtBlock, CStr(Lf)) <> 0 TmpBlock = TmpBlock + Left(CmtBlock, InStr(CmtBlock, CStr(Lf))) + "//" CmtBlock = Right(CmtBlock, (Len(CmtBlock) - InStr(CmtBlock, CStr(Lf)))) Loop CmtBlock = "//" + TmpBlock + Trim(CmtBlock) CmtBlock = Left(CmtBlock, InStr(CmtBlock, "*/") - 1) End If selection = DTE.ActiveDocument.Selection selection.Delete() selection.Text() = CmtBlock Else MsgBox("This macro does not work on this type of file.") End If End Sub Function StripTabs(ByVal MyStr As String) ' Strips the leading tab spaces. While InStr(MyStr, Microsoft.VisualBasic.ControlChars.Tab) > 1 MyStr = Right(MyStr, Len(MyStr) - InStr(MyStr, CStr(Microsoft.VisualBasic.ControlChars.Tab))) End While StripTabs = Trim(MyStr) End Function Sub CloseExceptActive() ' Description: Closes all editor windows except the current one. Dim current As Integer = 1 Dim i As Integer Dim countOfDocs As Integer = DTE.Documents.Count While (True) Dim doc As EnvDTE.Document doc = DTE.Documents.Item(current) If DTE.ActiveDocument.FullName <> doc.FullName Then ' Not the current doc. doc.Close(vsSaveChangesPrompt) Else current = current + 1 End If countOfDocs = DTE.Documents.Count If (current > countOfDocs) Then Exit While End If End While End Sub Sub AddRevisionMarks() ' DESCRIPTION: Adds comments to a file that describe the changes made. ' This routine adds a new comment block to the top of a file, where the ' programmer can place revision marks to describe the changes made to the file. ' The rules this routine uses are as follows: ' 1) Start at the top of the file. ' 2) Scan through each line; if the current line starts with a comment, ' advance to the next line. ' 3) If we are currently in a group comment block, keep advancing until ' the end of the block is found. ' 4) If we are in a line item comment (for example: //, ', rem, and so on), ' keep advancing until a line that does not start with a comment is found. ' By 'start with a comment', it is meant a line in which ' the first set of characters is not a comment delimiter ' after stripping off spaces and tabs from the beginning. ' 5) Insert a blank line; this allows the next invocation of this macro ' to place the newer revision mark before all others. ' 6) Insert the revision block. Dim CurrText As String Dim selection As EnvDTE.TextSelection Dim DefaultUserName As String Dim BeginComment As String Dim EndComment As String Dim EveryLine As String Dim CurrentCount As Integer ' Change this to the programmer's name for a default. DefaultUserName = "..." ' Because the user may not have closed a comment (for example a /* without a */), ' try to protect ourselves from an infinite loop. BreakAfter = 10 ' Max number of lines to scan before aborting. CurrentCount = 1 BeginComment = "" ' The token for the specified language for the beginning ' of a comment. EndComment = "" 'Same, except for the end of a comment. EveryLine = "" 'Does the comment mark need to be placed on every line ' (VBS, DEF types)? ' First, make sure the active document is a text window ' (not necessary, but good practice). If DTE.ActiveDocument.Type = "Text" Then TypeOfFile = FileType(DTE.ActiveDocument) ' Sets ourselves at the very top of the document. ' This also clears any selection. DTE.ActiveDocument.Selection.StartOfDocument() DTE.ActiveDocument.Selection.SelectLine() selection = DTE.ActiveDocument.Selection CurrText = selection.Text CurrText = LTrim(CurrText) ' All of the following do relatively the same thing, ' except they look for different comment types. If TypeOfFile > 0 And TypeOfFile < 5 Then ' C/C++ family of code. ContSearch = True BeginComment = "/*" EndComment = "*/" EveryLine = " " ' In C/C++ style code, we must look for a //; ' if not found, then look for a /*. Do selection.Text = CurrText If InStr(CurrText, "//") = 1 Then ' Is a "//" available? selection.SelectLine() CurrText = LTrim(selection.Text) ' Remove whitespace. ContSearch = False ' Looking at // style comments, ' don't look for a /* style. Else Exit Do End If Loop If ContSearch = False Then DTE.ActiveDocument.Selection.LineUp() End If ' When the DTE.ActiveDocument.Selection.SelectLine method is called, ' it is the same as when you click the mouse in the margin. It ' selects the whole line, including the carriage return. ' Consequently, the cursor moves down to the next line, which ' can really confuse this algorithm. So in a number of places, ' you will see a grouping of LineUp/LineDown commands. By executing ' these commands, the cursor is moved down, which clears the current ' selection (including moving past the carriage return), ' then moves us back up, thus putting us on the same line. This ' removes the danger of skipping a line (which is what will ' happen without the LineUp/LineDown combination). If ContSearch = True Then DTE.ActiveDocument.Selection.StartOfDocument() ' Prime the loop with the first line. DTE.ActiveDocument.Selection.SelectLine() CurrText = DTE.ActiveDocument.Selection.Text DTE.ActiveDocument.Selection.LineDown() DTE.ActiveDocument.Selection.LineUp() ' Remove leading whitesp75M11Q7H16QHAQSS7L4L87HCN6OE6D1@@XQ1O8VU60167X8VF6537H12AQ38G6UD@g0U424HP8X2R601MBC0A2GPHU46V0EP15@O/VSMPE @5ace. CurrText = LTrim(CurrText) ' Does line start with a /*? If InStr(CurrText, "/*") = 1 Then While (InStr(CurrText, "*/") = 0) And (BreakAfter > CurrentCount) DTE.ActiveDocument.Selection.SelectLine() CurrText = selection.Text CurrText = LTrim(CurrText) DTE.ActiveDocument.Selection.LineDown() DTE.ActiveDocument.Selection.LineUp() CurrentCount = CurrentCount + 1 End While If (BreakAfter > CurrentCount) Then ' Exit the loop because the search has continued for an ' unreasonable number of lines. MsgBox("Could not find a closing comment mark") End If End If End If ' The code for these is really just a copy of code from the ' C/C++ section. ElseIf TypeOfFile = 5 Then ' HTML code. BeginComment = "<!--" EndComment = "-->" EveryLine = " " If InStr(CurrText, "<!--") = 1 Then If InStr(CurrText, "-->") <> 0 Then DTE.ActiveDocument.Selection.LineDown() Else Do DTE.ActiveDocument.Selection.SelectLine() CurrText = DTE.ActiveDocument.Selection.Text CurrText = Left(CurrText, Len(CurrText) - 2) selection = DTE.ActiveDocument.Selection selection.Text = CurrText + Lf If InStr(CurrText, "-->") Then Exit Do End If Loop End If End If ElseIf TypeOfFile = 6 Then ' VBS code. BeginComment = "'" EndComment = "'" EveryLine = "'" Do selection = DTE.ActiveDocument.Selection selection.Text = CurrText If InStr(CurrText, "'") = 1 Or InStr(LCase(CurrText), "Rem") = 1 Then DTE.ActiveDocument.Selection.SelectLine() CurrText = LTrim(DTE.ActiveDocument.Selection) ContSearch = False Else Exit Do End If Loop If ContSearch = False Then DTE.ActiveDocument.Selection.LineUp() End If ElseIf TypeOfFile = 7 Then 'DEF code BeginComment = ";" EndComment = "" EveryLine = ";" Do selection = DTE.ActiveDocument.Selection selection.Text = CurrText If InStr(CurrText, ";") = 1 Then DTE.ActiveDocument.Selection.SelectLine() CurrText = LTrim(DTE.ActiveDocument.Selection) ContSearch = False Else Exit Do End If Loop If ContSearch = False Then DTE.ActiveDocument.Selection.LineUp() End If End If If TypeOfFile = 0 Then ' Unknown type of code. MsgBox("Unable to add revision marks. Unrecognized file type") ElseIf (CurrentCount < BreakAfter) Then 'The BeginComment, EveryLine, and EndComment were set as ' avoid duplicating this section... ' just insert the generalized block, with the comment markers. DTE.ActiveDocument.Selection.StartOfLine() ' This is added with one assignment statement, which enables the user ' to press undo once and remove the entire change. selection = DTE.ActiveDocument.Selection selection.Text = CStr(Lf) + BeginComment + "***********************************" + CStr(Lf) selection.Text = selection.Text + EveryLine + " REVISION LOG ENTRY" + CStr(Lf) selection.Text = selection.Text + EveryLine + " Revision By: " + DefaultUserName + CStr(Lf) selection.Text = selection.Text + EveryLine + " Revised on " + CStr(Now()) + CStr(Lf) + EveryLine + " Comments: ..." + CStr(Lf) + EveryLine + "***********************************" + EndComment + CStr(Lf) End If End If End Sub Sub AddFunctionDescription() ' Description: Creates a comment block for the currently selected C/C++ function prototype. Dim Header, prms As String Dim fcName, Descr As String Dim iPrm, iPrmA As Integer Dim selection As EnvDTE.TextSelection Dim RetTp As String ' Throughout this file, DTE.ActiveDocument.Selection is used in place ' of DTE.ActiveDocument.Selection.Text. The two are equivalent, and can ' be used interchangeably. The reason for the equivalence is that ' Text is regarded as the default property to use. All uses of ' ActiveDocument.Selection without any other property default to the Text ' property. If (DTE.ActiveDocument Is Nothing) Then Exit Sub End If If DTE.ActiveDocument.Language = EnvDTE.Constants.dsCPP Or DTE.ActiveDocument.Language = "CSharp" Then selection = DTE.ActiveDocument.Selection() Trim(selection.Text) Header = "" If selection.Text <> "" Then Header = StripTabs(Trim(selection.Text)) End If ' Get the function return type. If Header <> "" Then If DTE.ActiveDocument.Language = "CSharp" Then ' Skip the protection info (public/private ...). Header = Right(Header, Len(Header) - InStr(Header, " ")) End If Reti = InStr(Header, " ") Loc1 = InStr(Header, "(") If Reti < Loc1 Then RetTp = Left(Header, Loc1 - 1) Header = Right(Header, Len(Header) - Reti) End If RetTp = Left(RetTp, InStr(RetTp, " ")) ' Get the function name. Loc1 = InStr(Header, "(") - 1 Loc2 = InStr(Header, ")") If Loc1 > 0 And Loc2 > 0 Then ' Make sure there is a '(' and a ')'. fcName = Left(Header, Loc1) Header = Right(Header, Len(Header) - Len(fcName)) ' Do we have storage type on the return type? Trim(fcName) If InStr(fcName, " ") <> 0 Then RetTp = RetTp + Left(fcName, InStr(fcName, " ")) fcName = Right(fcName, Len(fcName) - InStr(fcName, " ")) Studio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio End If ' Get the function parameters. iPrm = 0 iPrmA = 0 prms = Header ' Count the number of parameters. Do While InStr(prms, ",") <> 0 iPrm = iPrm + 1 prms = Right(prms, Len(prms) - InStr(prms, ",")) Loop ' Store the parameter list in the array. If iPrm > 0 Then ' If multiple params. iPrm = iPrm + 1 iPrmA = iPrm ReDim ParamArr(iPrm) Do While InStr(Header, ",") <> 0 ParamArr(iPrm - 1) = Left(Header, InStr(Header, ",") - 1) ' Remove brace from first parameter. If InStr(ParamArr(iPrm - 1), " (") <> 0 Then ParamArr(iPrm - 1) = Right(ParamArr(iPrm - 1), (Len(ParamArr(iPrm - 1)) - (Len(ParamArr(iPrm - 1)) - (Len(ParamArr(iPrm - 1)) - InStr(ParamArr(iPrm - 1), " ("))))) Trim(ParamArr(iPrm)) End If Header = Right(Header, Len(Header) - InStr(Header, ",")) iPrm = iPrm - 1 Loop ParamArr(iPrm - 1) = Header ' Remove trailing brace from last parameter. If InStr(ParamArr(iPrm - 1), ")") <> 0 Then ParamArr(iPrm - 1) = Left(ParamArr(iPrm - 1), InStr(ParamArr(iPrm - 1), ")") - 1) Trim(ParamArr(iPrm - 1)) End If Else ' Possibly one param. ReDim ParamArr(1) Header = Right(Header, Len(Header) - 1) ' Strip the first brace. Trim(Header) ParamArr(0) = StripTabs(Header) If InStr(ParamArr(0), ")") <> 1 Then ParamArr(0) = Left(ParamArr(0), InStr(ParamArr(0), ")") - 1) Trim(ParamArr(0)) iPrmA = 1 End If End If ' Position the cursor one line above the selected text. DTE.ActiveDocument.Selection.LineUp() DTE.ActiveDocument.Selection.LineDown() DTE.ActiveDocument.Selection.StartOfLine() selection = DTE.ActiveDocument.Selection() 'selection.text = Lf Descr = CStr(Lf) + "// Function name : " + fcName + CStr(Lf) Descr = Descr + "// Description : " + CStr(Lf) + "// Return type : " Descr = Descr + RetTp + CStr(Lf) ' Print the parameter list. Last = iPrmA Do While iPrmA <> 0 ' Remove a line feed from any of the argumentextSelection. If InStr(ParamArr(iPrmA - 1), CStr(Lf)) <> 0 Then ParamArr(iPrmA - 1) = Right(ParamArr(iPrmA - 1), (Len(ParamArr(iPrmA - 1)) - (Len(ParamArr(iPrmA - 1)) - (Len(ParamArr(iPrmA - 1)) - InStr(ParamArr(iPrmA - 1), CStr(Lf)))))) Trim(ParamArr(iPrmA - 1)) End If ParamArr(iPrmA - 1) = StripTabs(ParamArr(iPrmA - 1)) ' If there are 2+ parameters, the first parameter will ' have a '(' prepended to it. Remove it here: If iPrmA = Last And Last <> 1 Then ParamArr(iPrmA - 1) = Right(ParamArr(iPrmA - 1), Len(ParamArr(iPrmA - 1)) - 1) End If Descr = Descr + "// Argument : " + ParamArr(iPrmA - 1) + CStr(Lf) iPrmA = iPrmA - 1 Loop Descr = Descr + CStr(Lf) selection = DTE.ActiveDocument.Selection() selection.Text = Descr Else MsgBox("It is possible that the function you are trying to work with has a syntax error.") End If End If Else MsgBox("You need to have an active C/C++ document open" + CStr(Lf) + "with the function prototype selected.") End If End Sub ' This routine has many uses if you are trying to determine if an identifier ' is a valid C identifier. ' These identifiers do not include qualification syntax, for example: ' foo.bar is not valid ' foo is valid ' Parameters: String to test for a valid C identifier. ' Return value: True: passed parameter is a valid C identifier. ' False: passed parameter is not a valid C identifier. Function ValidId(ByVal Id As String) ValidId = True ' Don't permit an empty string ' (how can you identify nothing with something?). If Id = "" Then ValidId = False Exit Function End If For i = 1 To Len(Id) If Mid(Id, i, 1) < "a" Or Mid(Id, i, 1) > "z" Then If Mid(Id, i, 1) < "A" Or Mid(Id, i, 1) > "Z" Then If Mid(Id, i, 1) < "0" Or Mid(Id, i, 1) > "9" Then If Mid(Id, i, 1) <> "_" Then ValidId = False End If End If End If End If Next If Mid(Id, 1, 1) >= "0" And Mid(Id, 1, 1) <= "9" Then ValidId = False End If End Function Sub PoundDefOut(ByVal ifndef) Dim PoundType As String Dim ControlVarName As String Dim sel As EnvDTE.TextSelection Dim selection As EnvDTE.TextSelection Dim Ok As Boolean If ifndef = True Then PoundType = "#ifndef " Else PoundType = "#ifdef " End If If FileType(DTE.ActiveDocument) <> 1 Then MsgBox("This macro only works on" + Lf + ".c, .cpp, .cxx, .h, .hpp, or .hxx files") Else ControlVarName = InputBox("What should the control variable be?" + Lf + Lf + "Example: #ifdef ControlVariable", PoundType + " out a section of code") Ok = True6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Sampl If ValidId(ControlVarName) = False Then Ok = False MsgBox("""" + ControlVarName + """ is not a valid C identifier." + Lf + "please re-run the macro with a valid C identifier") End If sel = DTE.ActiveDocument.Selection For i = 1 To (Len(sel.Text) - 1) If Mid(sel.Text, i, 1) = Lf Then sel.Text = Left(sel.Text, i) + Microsoft.VisualBasic.ControlChars.Tab + Right(sel.Text, Len(sel.Text) - i) End If Next If ControlVarName <> "" And Ok = True Then sel.Text = CStr(Microsoft.VisualBasic.ControlChars.Lf) + PoundType + ControlVarName + CStr(Microsoft.VisualBasic.ControlChars.Lf) + CStr(Microsoft.VisualBasic.ControlChars.Tab) + sel.Text + CStr(Lf) + "#endif //" + ControlVarName If Right(sel.Text, 1) <> CStr(Microsoft.VisualBasic.ControlChars.Lf) Then sel.Text = sel.Text + CStr(Microsoft.VisualBasic.ControlChars.Lf) End If End If End If End Sub ' The next two macros are exactly the same, except one uses ifndef and the ' other ifdef. We recycle the same code and just use a different ' preprocessor directive. Sub ifdefOut() ' DESCRIPTION: #ifdef / #endif out a section of code. PoundDefOut(False) End Sub Sub ifndefOut() ' DESCRIPTION: #ifndef / #endif out a section of code. PoundDefOut(True) End Sub ' Allows the user to make sure the current header file is included only once. ' There are two ways to do this, using the #pragma once directive or ' surrounding the entire file in a #ifndef/#endif structure. The first way ' is much cleaner, but it is VC++ specific, and therefore not portable. If ' you plan on compiling your code with other compilers, use the ' #ifndef/#endif method. Otherwise, the #pragma once option is preferrable. Sub OneTimeInclude() ' DESCRIPTION: Adds code to the current header file so it is included only once per c/cpp file. Dim ext As String Dim DocName As String Dim examp As String Dim selection As EnvDTE.TextSelection Dim pos As Integer Dim ControlVarName As String ext = DTE.ActiveDocument.Name If ext = "" Then If MsgBox("The file you are working with does not have a file extension." + Lf + "Are you sure this is a C/C++ header file?", 4) = MsgBoxResult.Cancel Then Exit Sub End If ext = "nofilenamegiven.h" End If DocName = UCase(ext) pos = InStr(ext, ".") Do While pos <> 1 ext = Mid(ext, pos, (Len(ext) - pos + 1)) pos = InStr(ext, ".") Loop ext = LCase(ext) pos = InStr(DocName, ".") If ext = ".h" Or ext = ".hpp" Then ' Warn user that this will not work with a compiler other than VC++. ' If MsgBox("This macro uses the Visual C++ dependent #pragma once" + Lf + "Is the source to be portable across compilers?", 4) = 6 Then DTE.ActiveDocument.Selection.StartOfDocument(False) examp = "__" + Left(DocName, pos - 1) + "_" + UCase(Right(ext, Len(ext) - 1)) + "__" ControlVarName = InputBox("What should the control variable be?" + Lf + Lf + "Example: #ifdef " + examp, "One time header include protection", examp) selection = DTE.ActiveDocument.Selection If ValidId(ControlVarName) = True Then selection.Text = "#ifndef " + ControlVarName + CStr(Lf) + "#define " + ControlVarName + CStr(Lf) DTE.ActiveDocument.Selection.EndOfDocument(False) selection.Text = CStr(Lf) + "#endif //" + ControlVarName Else MsgBox(ControlVarName + " is not a valid c identifier." + Lf + "please re-run the macro with a valid C identifier") End If 'Else ' DTE.ActiveDocument.Selection.StartOfDocument (False) ' DTE.ActiveDocument.Selection = "#pragma once" + Lf + Lf 'End If Else MsgBox("This macro can only be run on .h or .hpp files") End If End Sub ' Auto-completion macro. Sub AddToCompletionWords(ByVal word As String) ' If the word is already there, abort. If InStr(1, completionWords, " " & word & " ", 1) <> 0 Then Exit Sub End If If word <> " " Then completionWords = completionWords & word & " " End If End Sub Private Function ExtractNextCompletionWord() ExtractNextCompletionWord = "" ' If no words yet, go away. If Len(completionWords) <= 1 Then Exit Function End If ' Wrap to beginning if necessary. If completionWordsIndex > Len(completionWords) Then completionWordsIndex = 2 End If ' Find next <space>. Dim newIndex As Integer newIndex = InStr(completionWordsIndex, completionWords, " ", 0) If newIndex = 0 Then Exit Function End If ExtractNextCompletionWord = Mid(completionWords, completionWordsIndex, newIndex - completionWordsIndex) completionWordsIndex = newIndex + 1 ' Skip over <space>. End Function Sub FillCompletionWords(ByVal word As String) ' Find all words in this file wes.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6EditSamples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevShich match word, and ' add them, space separated, to completionWords. previousSelection = word completionWords = " " completionWordsIndex = 2 Dim sel As EnvDTE.TextSelection sel = DTE.ActiveDocument.Selection Dim searchString As String searchString = "[^a-zA-Z0-9]" & word Dim firstTime As Boolean firstTime = True Dim firstLine, firstCol As Integer sel.StartOfDocument() Do While sel.FindText(searchString, vsFindOptions.vsFindOptionsRegularExpression) If firstTime Then firstLine = sel.TopLine firstCol = sel.CurrentColumn firstTime = False ElseIf firstLine = sel.TopLine And firstCol = sel.CurrentColumn Then Exit Do ' Jump out of loop before repeat. End If sel.WordRight() sel.WordLeft(DsMovementOptions.dsExtend) AddToCompletionWords(Trim(sel.Text)) sel.Cancel() Loop End Sub Function SuggestNextCompletionWord() SuggestNextCompletionWord = True Dim selection As EnvDTE.TextSelection Dim word As String selection = DTE.ActiveDocument.Selection word = ExtractNextCompletionWord() If word <> "" Then selection.Text = word previousSelection = word End If selection.WordLeft(DsMovementOptions.dsExtend) End Function Sub AutoCompleteFromFile() ' DESCRIPTION: Looks through the active file, searching for the rest of the word that you began to type. Dim doc As EnvDTE.Document Dim sel As EnvDTE.TextSelection Dim origLine, origCol As Integer doc = DTE.ActiveDocument ' Be sure active document is a text document. If doc Is Nothing Then Exit Sub ElseIf doc.Type <> "Text" Then Exit Sub End If ' Get word to be completed. sel = doc.Selection sel.Cancel() origLine = sel.CurrentLine origCol = sel.CurrentColumn sel.WordLeft(DsMovementOptions.dsExtend) ' If the cursor is sitting just to the right of a space, an infinite loop ' results. This bit of code protects from that: If Right(sel.Text, 1) = " " Then sel.CharRight() Exit Sub End If FillCompletionWords(sel.Text) sel.MoveToLineAndOffset(origLine, origCol) sel.WordLeft(DsMovementOptions.dsExtend) SuggestNextCompletionWord() End Sub End Module EnvironmentEvents #Region "Automatically generated code, do not modify" 'Automatically generated code, do not modify Option Strict Off Option Explicit Off Imports System Imports EnvDTE Imports EnvDTE80 Imports System.Diagnostics Public Module EnvironmentEvents #Region "Automatically generated code, do not modify" 'Automatically generated code, do not modify 'Event Sources Begin <System.ContextStaticAttribute()> Public WithEvents DTEEvents As EnvDTE.DTEEvents <System.ContextStaticAttribute()> Public WithEvents DocumentEvents As EnvDTE.DocumentEvents <System.ContextStaticAttribute()> Public WithEvents WindowEvents As EnvDTE.WindowEvents <System.ContextStaticAttribute()> Public WithEvents TaskListEvents As EnvDTE.TaskListEvents <System.ContextStaticAttribute()> Public WithEvents FindEvents As EnvDTE.FindEvents <System.ContextStaticAttribute()> Public WithEvents OutputWindowEvents As EnvDTE.OutputWindowEvents <System.ContextStaticAttribute()> Public WithEvents SelectionEvents As EnvDTE.SelectionEvents <System.ContextStaticAttribute()> Public WithEvents BuildEvents As EnvDTE.BuildEvents <System.ContextStaticAttribute()> Public WithEvents SolutionEvents As EnvDTE.SolutionEvents <System.ContextStaticAttribute()> Public WithEvents SolutionItemsEvents As EnvDTE.ProjectItemsEvents <System.ContextStaticAttribute()> Public WithEvents MiscFilesEvents As EnvDTE.ProjectItemsEvents <System.ContextStaticAttribute()> Public WithEvents DebuggerEvents As EnvDTE.DebuggerEvents <System.ContextStaticAttribute()> Public WithEvents ProjectsEvents As EnvDTE.ProjectsEvents <System.ContextStaticAttribute()> Public WithEvents TextDocumentKeyPressEvents As EnvDTE80.TextDocumentKeyPressEvents <System.ContextStaticAttribute()> Public WithEvents CodeModelEvents As EnvDTE80.CodeModelEvents <System.ContextStaticAttribute()> Public WithEvents DebuggerProcessEvents As EnvDTE80.DebuggerProcessEvents <System.ContextStaticAttribute()> Public WithEvents DebuggerExpressionEvaluationEvents As EnvDTE80.DebuggerExpressionEvaluationEvents 'Event Sources End 'End of automatictudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakp      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~oints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Microsoft C/C++ MSF 7.00 DS8 18# 18 oG r7p(E ob oJ -uK, uKoK * F`0vX($  ~o oH Qr+Dp(h &A E u6__t6(# 3 (I z,($ * @U A0OY(J #.:~oq or t\ (J (2 oK ~o oL *0Z~oO rS7po o t ~o oM oN 9 ruo/ r7p( o +hI rHp oO @ o5 o; r7p(E ob + rApob *0QrSAp(s ~o o0 o: 1Qo2 +$ oC t o; r7p(E ob oJ - uK, uKoK + rApob * '8_0`RrSAp(s ~o o YE ++rApob +rBpob + r-Bpob *0SrSAp(s ~o o< -rCBpob +NI rpo= @($ r@po> r7p( ob.1FK`7&4Bnao.1F-BS1 HU ++rBpob +rBpob + rCpob *0U ~o o@ oA +4oC t o> ( r-Cp( 3 oB  + oJ -uK, uKoK - r?Cp(h &* VZ0VrSAp(s ~o oC oD 3roCpob 8~o oC oA +ZoC t I rCp o= @($ rCp o> r7p ( ob oJ - 18 18 oG r7p(E ob oJ -uK, uKoK * F`0vX($  ~o oH Qr+Dp(h &A E u6__t6(# 3 (I z,($ * @U A0OY(J #.:~oq or t\ (J (2 oK ~o oL *0Z~oO rS7po o t ~o oM oN 9 ru:lB$JEK?O Zf*I`n@dLBԁrAz)u _! H" cÆ# rf $ ~!*% }L& ODg' .(  *) 9L* V+ , - Y. ?v/ 7E0 ө1 hO62 b,3 I4 5 6 UT7 N$c8 iI9 : #y!; "< H= q&> rv? pm@ ݆GEA B s3:lB$JEK?O Zf*I`n@dLBԁr1^G$[W;K }uL M yWN fHO P HsQ 9R sS fT ڐg!U ZSV (W ꓒ\X d tCe Y?/f ?qg  +h Zi cj lk I٨dl >,m J:lB$JEK?O Zf*I`n@dLBԁrÇf I&  ) I tGz ^XD 3" WE :lB$JEK?O Zf*I`n@dLBԁr\x h!4ml F ;o : cP w _LYe  B r u5 l 9  <^ } 1 1@ rQ F1 dr ZA :;'* , \1U  [01 ;N 9f 0. A $q` Jx" X e#:lB$JEK?O Zf*I`n@dLBԁrՎVe;=;{f? s> p ( m: :_ UWS U {+ " = G< ` { Ys A a ǫ $p Ҽh RZ0 {n zfW }+M : t !^I 037  [' c|j H pm k):lB$JEK?O Zf*I`n@dLBԁrKߖs` M b hz_ ރܞ ST I, srs- 7C. :l5/ &T0 o=1 :p2 5ڱr3 4 8o|5 [6 %ۺa7 &"8 ᗙ9 t#: -S; 8< P9= [_> 6? _YB@ iEA RrB a-:lB$JEK?O Zf*I`n@dLBԁri^vOvWuh# K 8pL T&~M y N z!: O NKi<P KQ C,SVR Õs>S TT 'd8U dV Y cW fX H%Y 4̖AZ +2C[ C\ Na] $^ lM_ Sd$` d Va ;)b ʐ\c @Bd uu2Ue ?0f 2w=vg h ɒi >*{!j zak O^l #Ym db:lB$JEK?O Zf*I`n@dLBԁr}G`N%9wu Wv *!pw 1x Wy ߗ,z ])B{ ~e| f } _r ~   7x! {.Jz  g$L  m 'wY o5 ʹA )~= a %] ] $c,[ ؜ yM W &b 1j , 4׆  " S O P TI  :lB$JEK?O Zf*I`n@dLBԁr ('Zw2ddk17d14f5c-a337-4978-8281-53493378c1071.vbvsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/_Startupvsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\_startupvsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/Accessibilityvsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\accessibilityvsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/AddDirAsSlnFoldervsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\adddirasslnfoldervsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/DevStudio6Editorvsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\devstudio6editorvsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/EnvironmentEventsvsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\environmenteventsvsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/MakeAddinvsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\makeaddinvsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/Utilitiesvsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\utilitiesvsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/VSDebuggervsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\vsdebuggervsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/VSEditorvsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\vseditor(E]+j/g*0 4!JM a(0X*e(0{ mX*e](0A}X*]e/(0f*X*/ej(0Y))X*je(0[L'X*e(0X+*e(0yXg*e(0o]XE*e(0MX*extSelection.Text = System.DateTime.Now.ToLongDateString() End Sub Sub InsertTimeDate() Dim textSelection As EnvDTE.TextSelection textSelection = CType(DTE.ActiveDocument.Selection(), EnvDTE.TextSelection) text.*&A.cctorA$(100663298$#Samples.AddDirAsSlnFolder$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$#Samples.MakeAddin$#Samples.Utilities$#Samples.VSDebugger$#Samples.VSEditor$#Samples.Accessibility$#Samples._Utility"$#Samples._ApplicationObjects$@F:System.Diagnostics$@F:EnvDTE80$@F:EnvDTE$*Samples$#Samples.My.MyProject2$@PX:xml=http://www.w3.org/XML/1998/namespace*$@PX:xmlns=http://www.w3.org/2000/xmlns/$@P:Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings $@PX:= $Samples$Samples._ApplicationObjects6*M'WIsFileExcluded MW$(100663298$@100663334$Samples._ApplicationObjects extension fileName" IsFileExcludedJ*(GenerateSlnFolderOnDirStructure2$(100663298$@100663334$Samples._ApplicationObjects file files folder folders  VB$t_i4$L0"  VB$t_array$L0  VB$t_i4$L1"  VB$t_array$L1h4f projItem0% & outputWindowPaneh2P  folderName" newSlnFolder projJ*( ) GenerateSlnFolderOnDirStructure$  $(100663298$@100663334$Samples._ApplicationObjects& currentSlnFolder folderName proj sln2 & outputWindowPane0A$   TWM "*#0$1%>&D'E(I)J*K+A : ( 8 & 9  <   "/569:%<&=9?=@FATBUCV]D^FkGHIJMRSTUVWXYy B :  /V8ESX~   # 1@F+G    +ag h!i)j/k0l1n9oFpLqMs^ufwsxyz|!1AQaqS 4 F 8   B >   A @ P X   Q ' ' ' ' ' ' ' ' ' ' ' ' ' ' * * * + '  = 2 ' H  0Ph doc.Close(vsSaveChanges.vsSaveChangesNo) End If End If PrintItemsInSelectedProject(projItem.ProjectItems) Next End Sub End Module zNXHP&J .*tEqualst$(100663298$@100663298$Samples._ApplicationObjects Equals6*d GetHashCode` $(100663298$@100663298$Samples._ApplicationObjects GetHashCode2* GetTypeh$(100663298$@100663298$Samples._ApplicationObjects GetType2* ToString $(100663298$@100663298$Samples._ApplicationObjects ToString:* Create__Instance__$(100663298$@100663298$Samples._ApplicationObjects& Create__Instance__>*P Dispose__Instance__L$(100663298$@100663298$Samples._ApplicationObjects" VB$t_generic$S0.* .ctorT $(100663298$@100663298$Samples._ApplicationObjects<t0 K( < 0 ?* <0 H. < 0  ;' l`      _,#$ <0 G# < 0  8(D\t4H A 7Bh B QC oC: C QF>*4K* PrintAllOpenDocuments0K $(100663298$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$#Samples.MakeAddin$#Samples.Utilities$#Samples.VSDebugger$#Samples.VSEditor$#Samples.Accessibility$#Samples._Utility"$#Samples._ApplicationObjects$#Samples.AddDirAsSlnFolder*$@FT:Microsoft.VisualBasic.ControlChars$@F:Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings$@F:System.Diagnostics$@F:EnvDTE80$@F:EnvDTE$*Samples$#Samples.My.MyProject2$@PX:xml=http://www.w3.org/XML/1998/namespace*$@PX:xmlns=http://www.w3.org/2000/xmlns/$@P:Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings $@PX:= $Samples$Samples._ApplicationObjects doc VB$t_ref$L06*d+ MultiplePastes8` $(100663298$@100663338$Samples._ApplicationObjects i NumPastes times VB$t_i4$L0" VB$t_array$S02*h ", CommentOuthd " $(100663298$@100663338$Samples._ApplicationObjects CommentType EndLine StartLine Temp TypeOfFile win" VB$t_array$S0 VB$t_i4$L0"  VB$t_array$S1"  VB$t_array$S2`  i2*L 3-FileTypel H 3$(100663298$@100663338$Samples._ApplicationObjects ext FileType pos:*h .ToggleCommentStyleP d $(100663298$@100663338$Samples._ApplicationObjects CmtBlock selection TmpBlock TypeOfFile2* 7/StripTabsl  7$(100663298$@100663338$Samples._ApplicationObjects StripTabs:*h 0CloseExceptActive d $(100663298$@100663338$Samples._ApplicationObjects countOfDocs current i& vsSaveChangesPrompt\ ` d doc:*t1fAddRevisionMarksl pf$(100663298$@100663338$Samples._ApplicationObjects" BeginComment BreakAfter ContSearch" CurrentCount CurrText" DefaultUserName EndComment EveryLine selection  TypeOfFile"  VB$t_array$S0>*h}2(AddFunctionDescriptionxd}($(100663298$@100663338$Samples._ApplicationObjects Descr fcName Header iPrm iPrmA Last Loc1 Loc2 prms  Reti  RetTp  selection2*l,3!ValidIdlh,!$(100663298$@100663338$Samples._ApplicationObjects ValidId VB$t_i4$L0d! i6*4"PoundDefOutp "$(100663298$@100663338$Samples._ApplicationObjects" ControlVarName Ok PoundType sel selection VB$t_i4$L0" VB$t_array$S0T# i2*5$ifdefOut$$(100663298$@100663338$Samples._ApplicationObjects2*86$ifndefOut4$$(100663298$@100663338$Samples._ApplicationObjects6*67$OneTimeInclude<6$$(100663298$@100663338$Samples._ApplicationObjects" ControlVarName DocName examp ext pos selection" VB$t_array$S0" VB$t_array$S1>*dK8&AddToCompletionWords`K&$(100663298$@100663338$Samples._ApplicationObjectsB*Xo9-'ExtractNextCompletionWordhTo-'$(100663298$@100663338$Samples._ApplicationObjects. ExtractNextCompletionWord newIndex>*:'FillCompletionWords\'$(100663298$@100663338$Samples._ApplicationObjects firstCol firstLine firstTime" searchString selB*Q;P(SuggestNextCompletionWordQP($(100663298$@100663338$Samples._ApplicationObjects  selection.  SuggestNextCompletionWord  word>*<(AutoCompleteFromFile($(100663298$@100663338$Samples._ApplicationObjects  doc  origCol origLine selx Kl! "'#(I$  (    &+,/(0M4r5678 ?  1 2 4 ;   "&:@ AB*C+D<EIGHI"J2P7Q?R@SFTGVpWXYZ[\^_abcdef ghijk l  E V 6 6h 'm 9'((AB,%(#,l1ABp    3"p /<=AHIjq)-.01?    8&     ,  :  ;  :  ?  !  C  ?  !   #8ahwy%?@Oavw  1 $ 2 2  /T\4= 3V[\8<E  5  ( E  l7`.5. j  G ,K[\`aquxyz} # 9 . @/ &  . ,    f{   &F\"#$% &*+,/-7.E/N1O2R3S4U6d78EFHIJ5KZMcOv{QRSTUVWP2XA[N\O]P^Vcidoevf}ghijklmn-oCpWqirlsmtrusvyxyz{|}~)2367<Kpv-RSTdv;      1 6 ; 6 5 & ' 6"$" .6/9+ +:*C>A<:/6F67DB<"Z<L '&##48@FIIE;;!(# '#! =.ZBG+ +: '#  =.5BG+ +:  #O 4;9l_l   (}f Tjw}&@^_u568;>@Dbcsz~!./IMN`k    7DGHIn"#$'*+~,-.12345$6%(-798O9Z:[;h<i=l?mAzB{D! 0   o 7 !  )9  !?M**$3?7.*.0F!4IQ"(I3%(%-VI!!5#U,94Dn5*@%8=Y.&:<??Sa5!J6M;ka*(-?+o  z  !,MOSTU$V%X3YbZ[\]^_`abd"e)f*h)       ?CG5,   >  "tjqrstu w2xDyEzb{d|x}z~6"  # "  2 `  4  / -1  7ZV   <$0   <$0   $6! /56<=DRThvw|>Wm"%&34 &    &    6 "   " + @ a 5 3qBI   E  x&Kl #$3HI3 D    ;  -'o)/0FJMNem1 ' *   < %  H    p ,,' -9 ; DFIQY]twx 2 !  ! + -   (-" Q   5 1  Z P(Q !"(#7$?%E&F(O)) ) 1 +  " %  7(+0 234+5.6/9;:B;I<P=YAsB|CDFGHIK !   '     # $ 1 )    & 3 1 $ E` 8\t<Tl8Pt0Hll appear in the generated module. You need to remove the duplicate. e2) Any calls to automation methods/properties not prepended with 'DTE.' will need to have these manually added (for example, change 'ActiveDocument()' to 'DTE.ActiveDocument()'). EnvDT.** .cctor* $(100663298$@100663298$Samples._ApplicationObjects6*H4get_ComputerD4$(100663298$@100663298$Samples._ApplicationObjects }Computer:*Dget_ApplicationLD$(100663298$@100663298$Samples._ApplicationObjects ~Application2*Tget_UserT$(100663298$@100663298$Samples._ApplicationObjects User:*pdget_WebServicesld$(100663298$@100663298$Samples._ApplicationObjects WebServicesH *<~ 2-.7<40yz{ > <D0 9 <T0 : <d0C ( 8Ppfrom registry'cmd /c tlbimp.exe "" /out:"Please enter the project to add the reference to (entering nothing or cancel6*:woCStepOverAll:oC$(100663298$#Samples.VSDebugger$#Samples.VSEditor$#Samples.Accessibility$#Samples._Utility"$#Samples._ApplicationObjects$#Samples.AddDirAsSlnFolder$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$#Samples.MakeAddin$#Samples.Utilities*$@FT:Microsoft.VisualBasic.ControlChars$@F:Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings$@F:System.Diagnostics$@F:EnvDTE80$@F:EnvDTE$*Samples$#Samples.My.MyProject2$@PX:xml=http://www.w3.org/XML/1998/namespace*$@PX:xmlns=http://www.w3.org/2000/xmlns/$@P:Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings $@PX:= $Samples$Samples._ApplicationObjects2*lxCDumpStackshC$(100663298$@100663415$Samples._ApplicationObjects zcommandWin  {VB$t_ref$L0"  |VB$t_array$S0  }VB$t_ref$L1  ~VB$t_ref$L2,dbC myThread(`DD myFrame`\FD args" functionName i myArg pos" programModule>*\ yQFAddBreakpointToMainpX QF$(100663298$@100663415$Samples._ApplicationObjects bp bps VB$t_ref$L0>*0 zFRunToNextBreakpoint` , F$(100663298$@100663415$Samples._ApplicationObjects ( OF bp>*\ {WGListBreakpointsLastHit4 X WG$(100663298$@100663415$Samples._ApplicationObjects bppane hitbps VB$t_ref$L0t T S}G bp:* U|GBreakpointLastHit`  UG$(100663298$@100663415$Samples._ApplicationObjects bppane:*8 }7HListAllBreakpoints 4 7H$(100663298$@100663415$Samples._ApplicationObjects bppane bps VB$t_ref$L0T 0 O]H bp6*`~HDebuggerMode< `H$(100663298$@100663415$Samples._ApplicationObjects" outputWinPane VB$t_i4$L0:*IShowCurrentProcessI$(100663298$@100663415$Samples._ApplicationObjects" outputWinPane proc" VB$t_array$S0:*ILastBreakReasonI$(100663298$@100663415$Samples._ApplicationObjects" outputWinPane VB$t_i4$L06*,JAttachToCalc,J$(100663298$@100663415$Samples._ApplicationObjects attached proc VB$t_ref$L0>* JListDebuggedProcessesJ$(100663298$@100663415$Samples._ApplicationObjects" outputWinPane proc VB$t_ref$L0" VB$t_array$S0:*x{KSupportedLanguagesx{K$(100663298$@100663415$Samples._ApplicationObjects lang" outputWinPane VB$t_ref$L02*vKDetachAll vK$(100663298$@100663415$Samples._ApplicationObjects& VB$ActiveHandler" VB$ResumeTarget2*OiLRunToLineOiL$(100663298$@100663415$Samples._ApplicationObjects :{L" textSelection6*LDumpExpressionL$(100663298$@100663415$Samples._ApplicationObjects" commandWindow expression" VB$t_array$S0L i6*9MIsDebugging9M$(100663298$@100663415$Samples._ApplicationObjects IsDebuggingloC:`%&8  $  E C& # $1%B&C)mn*-/57&8.93:P;Q<Y=Z[@jxA}BCDEFIUJV}K~LN Y 7 X e Eu9)88$Y78&/X"   QF xRV:;WDPX\Y]~Z 3  "  F]^_$b4cMdZedfegrhuivjkl  E 2 30# 2  $  WGpt uv&'y>JzW{X{||}~! ; 4 # >-  ;  xGUl EFRS ; > N B  7H &'0<STwx ; '  6  C  H`  23ABPQ]^ B - +B ,C )@  I x  ./|} B + " G ]  I RSabpq B 1 9F 3A B] >H  ,J'AHJMNOps ( 5 7    ! .  J  $567NZ B 9 T  <k   {Kx  1=TUv  B Z 0 ;  xKvl)l !  7 liLO`' ;!L"M#8 9 . '  L(, -3.>/@1]_3452678:= \ > (! S  4 D  xM9l=> ?@A B6C7D& * ;  S ,Ph  8 P t  4 X p  $ pe(addInInst, AddIn) 5Dim CommandObj As Command CDim objComm>* _H)MakeAddinFromMacroProj| H)$(100663298$#Samples.MakeAddin$#Samples.Utilities$#Samples.VSDebugger$#Samples.VSEditor$#Samples.Accessibility$#Samples._Utility"$#Samples._ApplicationObjects$#Samples.AddDirAsSlnFolder$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$@F:System.Diagnostics$@F:EnvDTE80$@F:EnvDTE$*Samples$#Samples.My.MyProject2$@PX:xml=http://www.w3.org/XML/1998/namespace*$@PX:xmlns=http://www.w3.org/2000/xmlns/$@P:Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings $@PX:= $Samples$Samples._ApplicationObjects& completionMessage& connectCodeElement& connectProjectItem execCode" execEditPoint" macroProject" macroProjectSrc& objExecCodeElement& onConnectionCode*  onConnectionCodeElement  proj  projItem"  queryStatusCode*  queryStatusCodeElement" VB$t_array$S0 VB$t_ref$L0  VB$t_ref$L1  !VB$t_ref$L2" !"VB$t_array$S1DJ) #membersDLhc* $objProjenumD0 + %doc &docText 'textDoc (winP, ', )codeElt& *moduleCodeElement" +newCodeModel" ,newProjectItem" -newTextDocument .textSel( ;h- /codeFunc$ - 0commandNameDx *0* 1connectTextSelection6* `P1CopyReferences P1$(100663298$@100663391$Samples._ApplicationObjects& 2objReferencesDest" 3objReferenceSrc 4VB$t_ref$L0B* al2IsMacroCallableFunction l2$(100663298$@100663391$Samples._ApplicationObjects* 5IsMacroCallableFunction 6param 7paramText 8VB$t_ref$L0H)&).*@+V,c-q./0123578:;=>A9GBYC]D^E_FHIJKNOPRSTVWXYZ![/\=]K^Y_stbcdefhprv+w4x={R|`}a~lu )A[nzLZ[\],<FTbp~ !0@JT! 1 F _ B 6 A C      e ) C  D;/   ( |   : u i n g l g Q ^ $ 7V6Lc rQ64!??(>R4d)jXUQMFK!`iJedVvAp   A X c U ' O c g Y . < > 8 e h Z / + ? g - / ,   G } ] P1!"LXof = D 1D   l2 %123 AM f s z~ L A   0   . @ O   < d | properties not prepended with 'DTE.' will need to have these manually added (for example, change 'ActiveDocument()' to 'DTE.ActiveDocument()'). 6*MCommentRegionM$(100663298$#Samples.VSEditor$#Samples.Accessibility$#Samples._Utility"$#Samples._ApplicationObjects$#Samples.AddDirAsSlnFolder$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$#Samples.MakeAddin$#Samples.Utilities$#Samples.VSDebugger*$@FT:Microsoft.VisualBasic.ControlChars$@F:Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings$@F:System.Diagnostics$@F:EnvDTE80$@F:EnvDTE$*Samples$#Samples.My.MyProject2$@PX:xml=http://www.w3.org/XML/1998/namespace*$@PX:xmlns=http://www.w3.org/2000/xmlns/$@P:Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings $@PX:= $Samples$Samples._ApplicationObjects" commentStart endPoint selection startPoint<-'N line6*l;oNNewCommentLineh;oN$(100663298$@100663433$Samples._ApplicationObjects" textSelection2* ,NSaveBackupp ,N$(100663298$@100663433$Samples._ApplicationObjects endPoint fileName startPoint text" textDocument" VB$t_array$S0" VB$t_array$S1" VB$t_array$S2:* OOneFunctionView  O$(100663298$@100663433$Samples._ApplicationObjects editPoint" textSelection* textSelectionPointSaved>* IPBeginningOfFunction IP$(100663298$@100663433$Samples._ApplicationObjects codeElement" textSelection2* *PLineToTop *P$(100663298$@100663433$Samples._ApplicationObjects" textSelection>* ;PEmacsStyleIndentLine ;P$(100663298$@100663433$Samples._ApplicationObjects* savedTextSelectionPoint" textSelection2* /QTopOfBlock /Q$(100663298$@100663433$Samples._ApplicationObjects" currentIndent editPoint indent selection textDoc6*vQIndentLevel vQ$(100663298$@100663433$Samples._ApplicationObjects IndentLevel lastLine6*|n[RSkipSpaceRightxn[R$(100663298$@100663433$Samples._ApplicationObjects lastPos line6*KROutlineCodeKR$(100663298$@100663433$Samples._ApplicationObjects elt elts fileCM i VB$t_i4$L06*L%SCollapseEltH%S$(100663298$@100663433$Samples._ApplicationObjects epEnd epStart VB$t_i4$L0 VB$t_i4$L1ENS i memsDOS i mems6*99TCenterScreenP99T$(100663298$@100663433$Samples._ApplicationObjects textPoint:*drTPrintNumberedLines`rT$(100663298$@100663433$Samples._ApplicationObjects i lineCount newText" textSelection* textSelectionNewFile VB$t_i4$L06*bUDoForWholeFilehbU$(100663298$@100663433$Samples._ApplicationObjects commandU activePoint anchorPoint cornerPoint selection textPane2*'AVLineEmUp'AV$(100663298$@100663433$Samples._ApplicationObjects anyMoved editPoint howFarOut rows selection VB$t_i8$L0 VB$t_i8$L1 VB$t_i8$L2 V AnyRowValid arrIdx curCharPos curDispPos"  maxMinPosIdx  minCharPos  minDispPos`V"  originalLineXV  wordCount6*|hXFixLineEnds|hX$(100663298$@100663433$Samples._ApplicationObjects editPoint selection6*}XSetFillColumn}X$(100663298$@100663433$Samples._ApplicationObjects|MY column>*aYFillCommentParagraphaY$(100663298$@100663433$Samples._ApplicationObjects columnLimit editPoint i linePrefix selection textDocvZ extraSpace textWZ lastCol  startCol"  startDispCol  startRowB*U\IsOnNonEmptyCommentLineU\$(100663298$@100663433$Samples._ApplicationObjects* IsOnNonEmptyCommentLine lineText pfxText>*<,]GetCommentLinePrefix8,]$(100663298$@100663433$Samples._ApplicationObjects*  GetCommentLinePrefix  linePrefix  text  trimText4M]  leftChar6*( ]MoveWordRight@$ ]$(100663298$@100663433$Samples._ApplicationObjects lineLenx $] orgLine6*!}^MoveWordLeft, !}^$(100663298$@100663433$Samples._ApplicationObjects lineLend !$^ orgLine6*!_IsWhitespace!!_$(100663298$@100663433$Samples._ApplicationObjects" IsWhitespace:*#,-_ListMatchingLines!#,-_$(100663298$@100663433$Samples._ApplicationObjects findResult lastFoundAt& outputWindowPane" textDocument" textSelection* textSelectionPointSaved window VB$t_i4$S0>*$Y`ListNonMatchingLines#$Y`$(100663298$@100663433$Samples._ApplicationObjects done endLine" outputWinPane" textSelection& textSelectionSaved  window:*& aaCountOccurrences$& aa$(100663298$@100663433$Samples._ApplicationObjects !count "findResult& #firstFindLocation" $textSelection* %textSelectionPointSaved(%p&#a" &foundSelection(%&)a" 'foundSelection2*',jbInsertTime&',jb$(100663298$@100663433$Samples._ApplicationObjects" (textSelection" )VB$t_date$S02*p(,bInsertDate'l(,b$(100663298$@100663433$Samples._ApplicationObjects" *textSelection" +VB$t_date$S06*t)CbInsertTimeDatet(p)Cb$(100663298$@100663433$Samples._ApplicationObjects" ,textSelection" -VB$t_date$S0" .VB$t_date$S1:**cIsPrintableFilex)*c$(100663298$@100663433$Samples._ApplicationObjects /extensions 0exts 1fileName" 2IsPrintableFile" 3VB$t_array$S0F*+tcPrintItemsInSelectedProject*+tc$(100663298$@100663433$Samples._ApplicationObjects 4proj" 5VB$t_array$S0F*,-dPrintItemsInSelectedProject+,-d$(100663298$@100663433$Samples._ApplicationObjects 6projItem 7VB$t_ref$L0+, hd 8doc,M #$"%)&0(F)GI-Q.Y/a0h1r2u3v4w*z|5}89: 3 : ) < / '0&)/    $  `oN;T?BCD,E9F 3 C " N,LSV'X-Y.ZI[V\c]k`abc*e 8 0   1 = 9 , 8 I * G Okpq"r.uCvKwTx\yc|k}~ 3 L >  4 , ' 7  4 * ' ; PI $'67>FG 3 a 1^    HP*<( 3 I lP;`")09 3 N # $ ; t/Qh%-AMRX[\^`lqw|} < 5 & ; (      3 ' 0/!+  ) P Qv #-=GHTWXelopqt> & $ & /$ L# 6  3!  [Rn  % ( ) *l <  / " 7   RK x)6? DI! > #  &  \S%P%)*+$,:0U1a2u3z489:;<>?@A BCDE"F#Gn \ X  ^  $3  I  $3   *  (Y"  *  H9T9<MP*Q7R = > rTU\]^$_N`Va_cgdoexghijklmnpq 5 "  Y % / ) 4 / ! @ j % 0 0  & G bUwz{*@MZ 0 5 @ @ I > ( * ( / 5 I  `AV'FT)DILWbmx|*/19:NO\i} % " ( - 7 D$))))#* F '.(&31.6,,,,BA*1EBAc.%   '1'K(lfH  $  &   hX|"$+3M U ] ^ f gz - 7 " Z 0%^  ! = X}  ,- D!S"Y#Z$z%{&@ ( G 8 "  C  aYU/057892:=;><X>s?@CGHIJKLFPQRUVTW[\$]4`<a>b?c@fRgXhYmcnkpwv~wxyz{~"6>EZ`pO  ' 7 G  B @ 5 @ 9#K)  (&^>0CN]1T13cG)K0?<?+2?5t:H4>\4G/297SPA/2911  D  $  U\&Sq B $ B / 0  O0 /  ,]';P^_mo}Q 7 $ ; ) , )3@-  Q  *] &08;<>GHnpyz ; ' 5 % ! /(  &  d&  `  }^ %/7:;="F#G!fh'q(r&)*: ' / %  /&  %  Z%  ^  l_`1234567: & ! P-_,DAHJK%LAMLPXQaRoUwV~XY[\]_`ab cdZg*i ' A / 4 < A ( N  ! E ( B  ' { 9 \ ,  < ; DY`8kqstu)v:xBzM{^~jry $ " ) I 5 ( @ L B   5 ' M?  ; % %  H 6 \aa P%-EKLbrtw ! 3 N ( I   E ( 3<O <P   ,  < ; 8 Hjb,<* T D Hb,<* T D HbC<A T s lc`N N y " ) Txctl-:=>fr& 7 _   - 7 -d ,:;LS[\]ijT ' 7O1V#=  ?    ( H ` |  8 \ t 0Hd| $<Tp 8\t0Hl $D\|)0600009b&%IsOnNonEmptyCommentLine)0600009c"%GetCommentLinePrefix)0600009d%@MoveWordRight)@0600009e%, MoveWordLeft), 0600009f%!IsWhitespace)!060000a0%!ListMatchingLines)!060000a1"%#ListNonMatchingLines)#060000a2%$CountOccurrences)$.* .ctor $#Samples.My.MyProject$#Samples.Accessibility$#Samples._Utility"$#Samples._ApplicationObjects$#Samples.AddDirAsSlnFolder$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$#Samples.MakeAddin$#Samples.Utilities$#Samples.VSDebugger$#Samples.VSEditor$*Samples$#Samples.My.MyProject2$@PX:xml=http://www.w3.org/XML/1998/namespace*$@PX:xmlns=http://www.w3.org/2000/xmlns/$@P:Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings $@PX:=$Samples.My$Samples._ApplicationObjects< 0klm   0 FindLine) 0600006e"%x ListModifiedDocuments)x 0600006f% InsertDocComments) 06000070%L ListMacroSamples)L 06000071&% LineOrientedCommentStart) 06000072"% GetOutputWindowPane) 06000073"%\ PrepareDefaultFind)\ 06000074%get_GetInstance)2*vQCget_HandleQC$(100663298$@100663394$Samples._ApplicationObjects xHandle yiptrHQC< ?  gHd06000023&%ToggleTextEditorGrayScale)06000024.% MaximizeToolWindowsInEnvironment) 06000025%SetSite)062*Kb/3SaveView|K/3$(100663298$#Samples.Utilities$#Samples.VSDebugger$#Samples.VSEditor$#Samples.Accessibility$#Samples._Utility"$#Samples._ApplicationObjects$#Samples.AddDirAsSlnFolder$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$#Samples.MakeAddin$@F:System$@F:System.Windows.Forms$@F:System.Windows$@F:System.Diagnostics$@F:EnvDTE80$@F:EnvDTE$*Samples$#Samples.My.MyProject2$@PX:xml=http://www.w3.org/XML/1998/namespace*$@PX:xmlns=http://www.w3.org/2000/xmlns/$@P:Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings $@PX:= $Samples$Samples._ApplicationObjects 9name2*0Qcz3LoadView,Qz3$(100663298$@100663394$Samples._ApplicationObjects :name:*d3TurnOnLineNumbers43$(100663298$@100663394$Samples._ApplicationObjects:*he4TurnOffLineNumbersd4$(100663298$@100663394$Samples._ApplicationObjects6*f5TurnOnWordWrapl5$(100663298$@100663394$Samples._ApplicationObjects:*g6TurnOffWordWrap6$(100663298$@100663394$Samples._ApplicationObjects2*h7ListProj7$(100663298$@100663394$Samples._ApplicationObjects ;project" <projectObjects =target >window" ?VB$t_array$S06* siw8ListProjAux sw8$(100663298$@100663394$Samples._ApplicationObjects @projectItem AVB$t_ref$L0  .8& BnotSubCollection" CprojectItems22* xj8OutputItem x8$(100663298$@100663394$Samples._ApplicationObjects Di" EVB$t_array$S0:*l kb9AddClassicComRef h b9$(100663298$@100663394$Samples._ApplicationObjects& FmacroProjectName" GopenFileDialog" HoutputDirectory" IoutputFileName* JprojectToAddReferenceTo" KsdkDirectory" LsystemDirectory MtlbimpPath Nwinptr"  OVB$t_array$S0  PVB$t_ref$L0 0 q<;  Qproject d <  Rerr2*)l2<FindCasep )2<$(100663298$@100663394$Samples._ApplicationObjects      !"#$%&'()*+,-./0123456789:;<=>H@ABCDEFG)IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~6*9m[<FindLastTarget9[<$(100663298$@100663394$Samples._ApplicationObjects" SfindWhatLast2*tLn<FindLinepL<$(100663298$@100663394$Samples._ApplicationObjects" TtextSelection>*o<ListModifiedDocumentsx<$(100663298$@100663394$Samples._ApplicationObjects Udocument Vtarget Wwindow XVB$t_ref$L0" YVB$t_array$S0:*Hp=InsertDocCommentsD=$(100663298$@100663394$Samples._ApplicationObjects ZcodeElement" [codeElementType" \commentStart ]editPoint" ^fileCodeModel _projectItem"  `VB$t_array$S0  aVB$t_ref$L0"  bVB$t_array$S1  cVB$t_ref$L1@`>" dcodeElement2" ecodeFunction" fcodeParameter  gparameters:*q@ListMacroSamplesL@$(100663298$@100663394$Samples._ApplicationObjects& houtputWindowPane& isamplesUIHierarchy juiHierarchy" kuiHierarchyItem lVB$t_ref$L0 mVB$t_ref$L1A* nmacroUIHierarchyItemB*rALineOrientedCommentStartA$(100663298$@100663394$Samples._ApplicationObjects oextension. pLineOrientedCommentStart>*Xhs7BGetOutputWindowPaneTh7B$(100663298$@100663394$Samples._ApplicationObjects& qGetOutputWindowPane" routputWindow& soutputWindowPane twindow8P }B ue:*8tBPrepareDefaultFind\4B$(100663298$@100663394$Samples._ApplicationObjects& vPrepareDefaultFind wwhatx/3Kl(+,'-6.7/H0I1 U  8 /  xz3Ql589':6;7<N=O> ]  ? 8  x3lFG+HUIJKLM S W T R S Q x4lQR+SUTUVWX T X U S T R x5lab+cUdefgh L P M K L J x6llm+nUopqrs M Q N L M K 7&,/0[hvw G 4 *   0 - # 9   7 w8s  .5:=MNOPqv - ;>9<-I   8x '+,0Tvs  /    = K b9< ,5AIUc#0167?%&'KLP]^`aow     $ 6 C e > j + ; Nj9pHr2Y-N:2]H@E;IKA@l>  &  H2<)<' ( " T[<9H"%&&'7( ) ( ) `<LT,/0142J3 5 % ( / <8=>#?1@2A>BUCVWEiuF}GHIJ G - # ?   + 'x   =6OWXY.^6_t`ua}bcdegjklmnostw"/x;CR[go$2;Xdvw 5 2 9 6 6  1 ;  ] 2 * F . ^  8 <M/_9M'iMMjM[85\Q_   $  @ ,8?LM_l S C H ! < H i = Nz   A U_lvw_ & *  "  0  7Bh!-.;EFZ[bfr G + % I $ H  $ B#4EVgxB ( 8 C # # * P  %  g|8Pp $@Xx(Ld8Ptget_Globalsset_VariableValueget_VariableExistsget_VariableValueIndexOfCharTrimStartToCharIsPunctuationIsWhiteSpacevsFindResultFind2set_WaitForFindToCompleteExecuteStatusBarget_StatusBarEqualToToLongTimeStringT:*/get_GetInstance/$(100663298$@100663298$Samples._ApplicationObjects GetInstance Value.*h.ctord$(100663298$@100663298$Samples._ApplicationObjectsx/lKL MNO(P)Q-R5-&2!H<^_c` ' .*D .cctor@$(100663298$#Samples.Accessibility$#Samples._Utility"$#Samples._ApplicationObjects$#Samples.AddDirAsSlnFolder$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$#Samples.MakeAddin$#Samples.Utilities$#Samples.VSDebugger$#Samples.VSEditor$@F:Microsoft.Win32$@F:System.Diagnostics$@F:EnvDTE80$@F:System$@F:EnvDTE$*Samples$#Samples.My.MyProject2$@PX:xml=http://www.w3.org/XML/1998/namespace*$@PX:xmlns=http://www.w3.org/2000/xmlns/$@P:Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings $@PX:= $Samples$Samples._ApplicationObjectsZ*L!UpdateTextEditorFontSizeToMatchDisplayPropertiesHL$(100663298$@100663328$Samples._ApplicationObjects font fontSize pointSize. textEditorFontsAndColorsB*<")IncreaseTextEditorFontSize|<)$(100663298$@100663328$Samples._ApplicationObjects. textEditorFontsAndColors VB$t_ref$S0B*S#eDecreaseTextEditorFontSizeSe$(100663298$@100663328$Samples._ApplicationObjects fontSize. textEditorFontsAndColors VB$t_ref$S0B* $ToggleTextEditorGrayScale $(100663298$@100663328$Samples._ApplicationObjects& accessibilityKey. applicationRegistryRootKey& editorInGrayScale" fontsAndColors. textEditorFontsAndColors VB$t_ref$L0 VB$t_ref$L1  VB$t_ui4$S0 Rh displayItem j displayItemJ*$ %MaximizeToolWindowsInEnvironment $(100663298$@100663328$Samples._ApplicationObjects VB$t_ref$L04  F window  = exception0$ > 7lL` #1$=%J&B ? ) R = # H)<<),-:., R M leS`156"768P9Q:, R = = 0  !>FG$J'K3L@MRNSQdTzUXZ[\]'`>a?@cJXdefghklm+ ] X , E \ B  _ R U " Ekk  B  Eee44  B  pq s(u)v1w9x:CyKzL}M~U\defg2 1 141-,   0 `x(@p2* vSetSite v$(100663298$@100663313$Samples._ApplicationObjects2*( SetTitle$ $(100663298$@100663313$Samples._ApplicationObjects2*SetHandle,$(100663298$@100663313$Samples._ApplicationObjects>*\PushVBHostIntoLibraryX$(100663298$@100663313$Samples._ApplicationObjects:*,GetParentWindow`,$(100663298$@100663313$Samples._ApplicationObjects" GetParentWindow6* GetWindowTitle  $(100663298$@100663313$Samples._ApplicationObjects" GetWindowTitle2* get_Handle $(100663298$@100663313$Samples._ApplicationObjects Handle6* StartupHelper$(100663298$@100663313$Samples._ApplicationObjects6*ShutdownHelper$$(100663298$@100663313$Samples._ApplicationObjects2*hStartupd$(100663298$@100663313$Samples._ApplicationObjects TempObj2*Shutdownl$(100663298$@100663313$Samples._ApplicationObjects<v 0,-.7 < 00121 <04561$ H<8: ;=$G l,`BCD$E%F)G*HA0  < 0JK L,< 0RS T 0$WX 8,YZ [\]%^0_7`BaIbTc[dfemfxghijklmnop;-<.@2<.?17);-9+;-6( 6quw#x&y2z4{5}P~S_ab}14@BC^amopR#. S#/ W#3 S#/ V#2 N#* R#. P#, R#. M#) ) TH " +X<Tt,Ld|6*)StopDebugging)$(100663298$#Samples._Utility"$#Samples._ApplicationObjects$#Samples.AddDirAsSlnFolder$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$#Samples.MakeAddin$#Samples.Utilities$#Samples.VSDebugger$#Samples.VSEditor$#Samples.Accessibility$*Samples$#Samples.My.MyProject2$@PX:xml=http://www.w3.org/XML/1998/namespace*$@PX:xmlns=http://www.w3.org/2000/xmlns/$@P:Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings $@PX:= $Samples$Samples._ApplicationObjects:*7ReleaseIfComObject7$(100663298$@100663313$Samples._ApplicationObjects6*4"TReleaseObject0"T$(100663298$@100663313$Samples._ApplicationObjects e<)0 0 T7H    -B>  lT"` '  +4P /01 Y U!1=1!y}  Q mmu 9I  Q  5)  u  a IQ AQ9% }]   e qM= eu q]  Q9  15 !  M)!% u q    I]e}q]9 - 99  ) 59a 1ea Q  =qumQyE u=%YI  u} }UI!u  9  UIAQ Ei)-e}]i%$  @  `!  B@  @ %B @ @  E ( @ @@ @  P@  @@@  @@  @P"  @@ @  $0<HT`lx ,8DP\ht(4LXdp| $0<HT`lx ,8DP\ht(4@LXdp| $0<HT`lx ,8DP\ht(4@LXd  $ 0 < H T ` l x   , 8 D P \ h t    ( 4 @ L X d p |  $ 0 < %.cctor)06000026% IsFileExcluded) 06000027.%GenerateSlnFolderOnDirStructure2)06000028.%GenerateSlnFolderOnDirStructure)06000029%Equals)06000008%GetHashCode)06000009%hGetType)h0600000a%ToString)0600000b"%Create__Instance__)0600000c"% /26% IsFileExcluded) 06000027.%GenerateSlnFolderOnDirStructure2)06000028.%GenerateSlnFolderOnDirStructure)06000029%Equals)06000008%GetHashCode)06000009%hGetType)h0600000a%ToString)0600000b"%Create__Instance__)0600000c"%Dispose__Instance__)0600000d%T.ctor)T0600000e"% PrintAllOpenDocuments) 0600002a%8 MultiplePastes)8 0600002b%h CommentOut)h 0600002c%l FileType)l 0600002d"%P ToggleCommentStyle)P 0600002e%l StripTabs)l 0600002f% CloseExceptActive) 06000030%l AddRevisionMarks)l 06000031&%x AddFunctionDescription)x 06000032%l ValidId)l 06000033%p PoundDefOut)p 06000034% ifdefOut) 06000035% ifndefOut) 06000036%< OneTimeInclude)< 06000037"% AddToCompletionWords) 06000038&%h ExtractNextCompletionWord)h 06000039"%\ FillCompletionWords)\ 0600003a&% SuggestNextCompletionWord) 0600003b"% AutoCompleteFromFile) 0600003c%.cctor)06000003%get_Computer)06000004%Lget_Application)L06000005%get_User)06000006%get_WebServices)06000007% StepOverAll) 06000077% DumpStacks) 06000078"%p AddBreakpointToMain)p 06000079"%` RunToNextBreakpoint)` 0600007a&%4 ListBreakpointsLastHit)4 0600007b%` BreakpointLastHit)` 0600007c"% ListAllBreakpoints) 0600007d%< DebuggerMode)< 0600007e"% ShowCurrentProcess) 0600007f% LastBreakReason) 06000080% AttachToCalc) 06000081"% ListDebuggedProcesses) 06000082"% SupportedLanguages) 06000083%  DetachAll)  06000084% RunToLine) 06000085% DumpExpression) 06000086% IsDebugging) 06000087&% MakeAddinFromMacroProj) 0600005f% CopyReferences) 06000060&% IsMacroCallableFunction) 06000061%CommentRegion)06000089%NewCommentLine)0600008a%pSaveBackup)p0600008b% OneFunctionView) 0600008c"% BeginningOfFunction) 0600008d% LineToTop) 0600008e"% EmacsStyleIndentLine) 0600008f% TopOfBlock) 06000090% IndentLevel) 06000091%SkipSpaceRight)06000092%OutlineCode)06000093%CollapseElt)06000094%PCenterScreen)P06000095"%PrintNumberedLines)06000096%hDoForWholeFile)h06000097%LineEmUp)06000098%FixLineEnds)06000099%SetFillColumn)0600009a"%FillCommentParagraph)0600009b&%IsOnNonEmptyCommentLine)0600009c"%GetCommentLinePrefix)0600009d%@MoveWordRight)@0600009e%, MoveWordLeft), 0600009f%!IsWhitespace)!060000a0%!ListMatchingLines)!060000a1"%#ListNonMatchingLines)#060000a2%$CountOccurrences)$060000a3%&InsertTime)&060000a4%'InsertDate)'060000a5%t(InsertTimeDate)t(060000a6%x)IsPrintableFile)x)060000a7*%*PrintItemsInSelectedProject)*060000a8*%+PrintItemsInSelectedProject)+060000a9%.ctor)06000002% get_Handle) 06000076% SaveView) 06000062% LoadView) 06000063%4 TurnOnLineNumbers)4 06000064"% TurnOffLineNumbers) 06000065%l TurnOnWordWrap)l 06000066% TurnOffWordWrap) 06000067% ListProj) 06000068% ListProjAux) 06000069% OutputItem) 0600006a% AddClassicComRef) 0600006b%p FindCase)p 0600006c% FindLastTarget) 0600006d% FindLine) 0600006e"%x ListModifiedDocuments)x 0600006f% InsertDocComments) 06000070%L ListMacroSamples)L 06000071&% LineOrientedCommentStart) 06000072"% GetOutputWindowPane) 06000073"%\ PrepareDefaultFind)\ 06000074%get_GetInstance)0600000f%.ctor)06000010%.cctor)06000020>%HUpdateTextEditorFontSizeToMatchDisplayProperties)H06000021*%IncreaseTextEditorFontSize)06000022*%DecreaseTextEditorFontSize)06000023&%ToggleTextEditorGrayScale)06000024.% MaximizeToolWindowsInEnvironment) 06000025%SetSite)06000015%SetTitle)06000016%,SetHandle),06000017"%PushVBHostIntoLibrary)06000018%`GetParentWindow)`06000019% GetWindowTitle) 0600001a%get_Handle)0600001b%StartupHelper)0600001c%$ShutdownHelper)$0600001d%Startup)0600001e%lShutdown)l0600001f%StopDebugging)06000011"%ReleaseIfComObject)06000012%ReleaseObject)06000013w 1 !'"TX,`TxSamples.My.MyComputer13D5DBCAtp VSamples.My.MyProjectD96357D2 VSamples.My.MyProject.MyWebServices1AF645B1lVSamples.My.MyProject.ThreadSafeObjectProvider`1F6D6B5918$ VSamples._UtilityC7E9E410@VSamples._Startup93FB0122( H VSamples.AccessibilityC20BB767, xSamples.AddDirAsSlnFolderF0E53C66 VSamples.DevStudio6EditorFB596022  xSamples.MakeAddin5FC086A1<DVSamples.UtilitiesAF9EDB74`@ VSamples.WinWrapperB01AD322P @ VSamples.VSDebugger57D94EF4,h P VSamples.VSEditor0B6646D7-. rk *4etceDTChd32ts.on   rr /00mpon$)$pp7seaT"amv es esecl=.w/n,ht3. /ro icicastssoasntso.DL.V.F)<$.VeSan$ua baAsoasWMso.IfD  K.V.V icua "3s.je7:/g/$ftfso(}.C!,.V.C"$.V$eA$$uaeS$6icua&Kalic-'oas'.V.IP(Q$(.VH) er$P1 ual2 at/3K soasz3Q $$3 mpca4 5 6 7 w8s as8x 32b9 33mp2<) on [<9 <L mP <  = @ rrA 7Bh 32B 33QC oC: C 00$QF $ppF sWG tTGU dL7H ar H`  I I  ,J $SJ $t{Kx Kv iLO rrL M9 M oN; N, ilO 00PI 00$P* casP;  /Q Qv [Rn RK meS% 9T9 3200rT mpcabU AV' hX| ioX} pB aY U\ ,] Ta] }^ 33_ s.on-_, Y` aa  jb, ptb, 00bC 00$c casct -d  d ^^^^<;vsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/AddDirAsSlnFolder17d14f5c-a337-4978-8281-53493378c1071.vbvsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/DevStudio6Editorvsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/VSDebuggervsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/MakeAddinvsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/VSEditorvsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/Utilitiesvsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/Accessibilityvsmacros://F%3A/dd/ToolPlat/src/redist/x86/retail/bin/i386/Samples.vsmacros/_Startup"^"("H"0"^"".1FK`7&4Bnao/LinkInfo/names/src/headerblock/src/files/17d14f5c-a337-4978-8281-53493378c1071.vb/src/files/vsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\_startup/src/files/vsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\accessibility/src/files/vsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\adddirasslnfolder/src/files/vsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\devstudio6editor/src/files/vsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\environmentevents/src/files/vsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\makeaddin/src/files/vsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\utilities/src/files/vsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\vsdebugger/src/files/vsmacros:\\f%3a\dd\toolplat\src\redist\x86\retail\bin\i386\samples.vsmacros\vseditor i " U   yVt.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings $@PX:= $Samples$Samples._ApplicationObjects#y8 XXXXXXXXXX(H<8#0NT<)`x,,h  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~tionObjectsext FileType pos:*h .ToggleCommentStyleP d $(100663298$@100663338$Samples._ApplicationObjects CmtBlock selection TmpBlock TypeOfFile2* 7/StripTabsl  7$(100663298$@100663338$Samples._ApplicationObjects StripTabs:*h 0CloseExceptActive d $(100663298$@100663338$Samples._ApplicationObjects countOfDocs current i& vsSaveChangesPrompt\ ` d doc:*t1fAddRevisionMarksl pf$(100663298$@100663338$Samples._ApplicationObjects" BeginComment BreakAfter ContSearch" CurrentCount CurrText" DefaultUserName EndComment EveryLine selection  TypeOfFile"  VB$t_array$S0>*h}2(AddFunctionDescriptionxd}($(100663298$@100663338$SampMZ@ !L!This program cannot be run in DOS mode. $PELF!  6 @@ `@d6W@  H.text  `.reloc @0@B6H&( **( *s s s s *0~o +*0~o +*0~o +*0~o +*0( ( +*0 ( +*0( +*0 ( +*0 - (+ ++ +*0 **( *0/ { o -(+ { o  +*V( s } *:( o *v( (! , ( (" &*0" ( (%(# ($ * 6&( **}**}*B| () *Vs* } (+ *0, | ~, 99o , ++ +*0 { +*0 {  +**0(S((T(Q((R(O((P(I((J(G((H(E((F(C((D(A((B(?((@(=((>~(*0o{rpr%po- ( ,t(T {rprCpo- ( ,t(R {rprcpo- ( ,t(P {rprpo- ( ,t(J {rprpo- ( ,t(H {rprpo- ( ,t(F {rprpo- ( ,t(D {rprpo- ( ,t(B {rprpo- ( ,t(@ {rpr=po- ( ,t(> {rQpo. t*v{(}o*r (/ (/ *0L(0 o1 "@@Ykl(2 ~rYprwpo3 rpo4 @o5 *0<~rYprwpo3 rpo4 o6 @(7 o5 *0S~rYprwpo3 rpo4 o6 @(8 , o6 @(9 o5 *0~: ~o; o< rpo< -+rpo= &rpo< rp@o> rpo? (@ ~rYprwpo3 rpo4 oA tC 9 oB +aoC tDoD rp(E o? (F (G oH oD rp(E o? (F (G oI oJ -uK, uKoK rp@o> 8 oB +yoC tDoD rp(E oL   (M o> oD rp(E oN   (M o> ~ oH ~oI oJ :{uK, uKoK rp@o> *w@0~oO oP +SoC tL oQ -=oR ,oS %(# ($ oT (# ($ oJ -uK, uKoK *$)<6M W 6prZsU rp*0M(V oW (X oW ~oY , ++~oY , + + +*0(Z ([   +|  ('-fo\ o] o^ ,o_ ,o_ o` 2(# ~(sroprp(a ob ($     ?y   +?  ('-)(X oc od t ((    2* &2X260(e ,'rprprp(f (e ,8(g -rp(h &8~(soi (g - ~(srmpob 8nsU ~rpoj &~rpoj &~rpoj &~rpoj &~rpoj &~rpoj &~rpoj &~rpoj &~rpoj &~rpoj &~rpoj &~r%poj &~r/poj &~r9poj &~rCpoj &~rSpoj &~rcpoj &~rspoj &~rpoj &~ok tQ (X ol od t  ((*0K~om on +oC t oo oJ -uK, uKoK * 130rprprp(f (p  8~oq or rp(s &~oq or rp(s &~oq or rp(s &~oq or rpr p(t   >R*0 "~ou ov .rp(h &8~oq (-_,j~oq or rprp~oq or rp(w (x rp(x (t 8k3j~oq or rprp~oq or rp(w (x rp(x (t 8`93rp +rp ~oq or rp(w (y ~oq or rp(w (y /  3\~oq or rp~oq or rp(w (x (t 8 8~oq or rp@  Y   (s & ,$ ( @( (z y@q@~oq or rp(s &~oq or rp  ~oq or rp(w (x  (t >+rp(h &*03o{  r<p(| 1-+ (} (~ r<p(| 3( r@p( rHp( `, 8o rRp( 3 8o r^p( 3 8o rhp( 3 +qo rxp( 3 +Yrp( 3 +Fo rp( 3 +.o rp( 3 +rp( 3 + *0rp ~oq or t\ o ~oq (-@ @( @( ( (@ 9=( &rp(| .`+8rp(| ( (E (} rp(| ( rp(| 3rprp( 8rp(| ;(} rp(| ( +9r p(| ( rp(a (} r p(| ( r p(| 3rp( (a rp(| ( ~oq or t\ o o +rp(h &*07+(} rHp(| ( rHp(| 0( *0 ~om o +e~om @o ~oq o o ( . (y o` + ~om o 1+-*0 rLp @  rp rprp~oq o rTp( @y~oq (-@ ~oq or r^p(s &~oq or rp(s &~oq or t\o (  @(  @( ( (@ 9]Y rp rpr~po rp(| 3o o ( Y +++Y( ,%~oq or rp(s &Y( 9~oq or r^p(s &~oq or rp(s &~oq or rTp(w (F ~oq or rp(s &~oq or rp(s &( rp(| @8~oq or rp(s &o ( ~oq or rp(s &~oq or rp(s &  rp(| Y @( ( (@ :I @( , rp(h &8 @( 9rp rprprp(| @rp(| .*~oq or rp(s &8~oq or rp(s &~oq or rTp(w (F (} ( ~oq or t\r p(E o rp(| ,+8Z8 @( 9rp rprp~oq or t\o rp(| ( rp(| `,I~oq or rp(s &~oq or (F ( Y ++8eY( ,%~oq or rp(s &8 @( 9rp rprp~oq or t\o rp(| 3I~oq or rp(s &~oq or (F ( Y +++Y( ,%~oq or rp(s & @( ,rp(h &8H @( 96~oq or rd p(s &~oq or t\r pr| p(a o o r p(a o I  o   r p  r p ( o  I  o   r p ( (  r p  r( p  rH p    r p ( o *0 }!~oq -8h~oq o rRp( ~oq o r p( `9~oq or t\  o ( &rp  o rp( . o ( (/(F rp( ;~oq o r p( 3(} r~p(| ( r~p(| @ r p(| @ ( ,8@(9 (y (  (} @ (9 (y (   r~p(| (  r p(| ڌ@r p(| @@( @( ( (@ 9(y ( (} (} ( ( &r~p(| .5 r~p(| ( (E  (} r~p(| (  +#  (} r p(| ( r p(| 3 >K   ֍I8~ r p(| ( ~ ښr p(| .f~ ~ ښ~ ښ(} ~ ښ(} ~ ښ(} ~ ښr p(| ( ~ ( &(} r p(| (  r p(| @3~ ~ ښr p(| .=~ ~ ښ~ ښr p(| ( ~ ښ( &8I(} ( ( &~(/(F ~r p(| .8~~~r p(| ( ~( &~oq or rp(s &~oq or rp(s &~oq or rd p(s &~oq or t\ r pr p(a r p(E  r p(a @8~ښr p(| .o~~ښ~ښ(} ~ښ(} ~ښ(} ~ښr p(| ( ~ښ( &~~ښ(/(F @( @( ( (@ ,+~~ښ~ښ(} ( r6 p~ښr p( @r p(E ~oq or t\  o +rb p(h &+r p(h &*0,"Y rp( 3 Y 8(} 8(~ r p( (~ r p( `,~(~ r p( (~ r p( `,N(~ r p( (~ r p( `,(~ r p( .Y  >F(~ r p( (~ r p( _,Y *0#Y( ,r p +r p ~oq (-.r p(h &8vrq pr p(E rp(f  (3Y( , r,pr0p(a (h &~oq or t\  o (} +[ o (~ r p( 37 o ( rHp o o (} ( (a o 1rp( _9 Ir prp o rp( o o ( r p( . o r p(E o *>Y(4*>Y(4*06$~oq o{ rp( 3rp(h 38rp ( r<p(| +#  (} (~ r<p(| 3 ( r<p(|  rp(  rp( `9p~oq or r^pY(s &Irp( r p (} ( ( rp( rp(E rhp(f ~oq or t\(3Y( 9Ir prpr p( o ~oq or rpY(s &rp(E o +rp(E (h &+rp(h &*0K~r~pr~p(a ( .+&r~p( .~r~p(a *0o%rp ~(} 0+V~~(} 1~~r~p( 3+ ~~~(~ ր*0&r~p~oq or t\rp(E  o +a,o o  +o o _,+;o o o ( (8o  o -*0Q'Y ~oq or t\ (9(F rp( .o o *0(~oq -8+o rTp( .+wor t\ o o o o o ( r~p( 3 o +& o (: o o (;&*0 )~ +*"*0 *~ +*"*0 +~ +*"*0 ,~ +*"*0 -~ +*"*0 .~ +*"*0 /~ +*"*0 0~ +*"*0 1~ +*"*0 2~ +*"*0 3~ +*"*0 4~  +*" *0 5~! +*"!*0 6~" +*""*0 7~# +*"#*0 8~$ +*"$*0 9~% +*"%*0:~o @( t  o] rpo o o r po tbo rpo r'po  r?po  *(# rYp0rp(h &($ T($ rp4rp(h 382rprprp(f (} 3#~o ok o @o +i~o ok o o +&oC to ( 3oJ -uK, uKoK -r{p0rp(h &8frp rp(E rp(E r_p  rp(E   r^p(E  r prp(E rp(E rZp(E rp(E r(p(E r^p(E rp(E rp(E r~ po r!p( o] o 8oC t"  r"po oQ rf"po t`o o o o 9~o r"p o r"p(E o o_ rf"po t`o o o o  o rp( .r"po o o o  o o o o o o  o o @o o 3r"po +r*#po tbo o  8X oC t%o @;t (aY( 9 o rn#po (a  r#pr#p( r#p(E  o r#p(a I!! ! o !r<p!o !r$p!( r$p(E  r#pr8$p(   rF$p(E  I!!!r=%p!o !r%p!o !r%p!( r&p(E  oJ : uK,  uKoK oJ :uK, uKoK r'p(E tbo rpo o o o o  o  r='p(E  tbo r'po   o o  o o  o r]'p(E ri'p(E r$(p(E r(p(E r)p(E r*p(E r+p(E rA,p(E r8-p(E r.p(E r/p(E r/p(E r0p(E r0p(E tbo r?po   o o  o o o  (` od r0p(w r0pr1p(s &o_ or t\o o o (# ($ r21p rl1p(E r1p(E r 3p(E @rp(h &*Ax*6Oklt!, 60;od r0p(w tj od r0p(w tlo 8oC tk o rp( ;o rq4p( o r4p( _o r4p( _,;o o &*(# r4po r5p(a (h &($ oJ :KuK, uKoK **6"0<o 3 Y 8o o 3 Y 8o o +V oC tm o o o o rW5po - Y E+o o . Y , oJ - uK, uKoK Y +* 3o0K=rk5pr5prp(f rp( 3r5p(h &+~o o &*0Q>r6pru6prp(f rp( 3r6p(h &+~o o o *0~rwpr6po3 r6po4 Yo5 ~rwpr7po3 r6po4 Yo5 ~rwpr po3 r6po4 Yo5 ~rwpr-7po3 r6po4 Yo5 ~rwprRpo3 r6po4 Yo5 ~rwpr77po3 r6po4 Yo5 *0~rwpr6po3 r6po4 Yo5 ~rwpr7po3 r6po4 Yo5 ~rwpr po3 r6po4 Yo5 ~rwpr-7po3 r6po4 Yo5 ~rwprRpo3 r6po4 Yo5 ~rwpr77po3 r6po4 Yo5 *0~rwpr6po3 r?7po4 Yo5 ~rwpr7po3 r?7po4 Yo5 ~rwpr po3 r?7po4 Yo5 ~rwpr-7po3 r?7po4 Yo5 ~rwprRpo3 r?7po4 Yo5 ~rwpr77po3 r?7po4 Yo5 *0~rwpr6po3 r?7po4 Yo5 ~rwpr7po3 r?7po4 Yo5 ~rwpr po3 r?7po4 Yo5 ~rwpr-7po3 r?7po4 Yo5 ~rwprRpo3 r?7po4 Yo5 ~rwpr77po3 r?7po4 Yo5 *0?~oO rQ7po ~o t  3+~o @( t ~ou 3 o ( +$r7p(s r7p(s &o] ( (i*0s@o +E oC t" o 3.( (jo  -( (i oJ - uK, uKoK * Y[0xA +'r7p rp(s & 2r7p o (s &r7p r7p(s &*0Bsus ( r7p(| ( o r7po o rr8po o @Ho o (} ( (} ( r<p(| ( rp(E ~o ~o r8p(| ( r8p(E ~ r8po ,"r9prpo r@9p(x (F r@9p( 3rH9p(h &ݘ( I  r9p o  r9p    r,p ( ( &r9pr:prp(f (} 3-~o ok o @o od tt+r~o ok o o  +/ oC t  o ( 3 od tt oJ - uK,  uKoK -r ;p(h &n (E o o -r_;p(h &Go  (E o - r;p(h &%(#   o (h &($ *A0X36~r;prpo ~o o *09C~o o ~r;prpo ~o o *0LD~oq or t\ o ~r;prpo ~o o o *0 E~oO rQ7po ~ou 3o ( +$r;p(s r<p(s &~om on +Q oC t o -;r7po{ r)<po r7p( (s & oJ - uK, uKoK * Wn0F~oq o o o @o u|,>r1<p(w rA<p  @ (w t% ub, tb + rK<ps zo o (r o 3o ( r~p(a +-o 3$o ( o ( r~p( ~o rH=po o o  8{ oC t% o @`t  o o o  r7po o rHprp=p(a o r7po I  rHp  r=p o  r<p ( o r7po rHpr=p(a o r7po rHp(E o  o  +S oC t%tm r=po r=p(a o r7po rHp(E o  oJ - uK,  uKoK  oJ :y uK,  uKoK ~o o *AHj0G~oO r=po o t r.>po rL>p(s oi o  o  o  o  8oC t~  o  r7p(E ob o  o  o  o  +,oC t~r)<po  r7p(a ob oJ -uK, uKoK oJ :buK, uKoK *GM0H- ~oq o{ rd>po  rl>po  `rpo  `rv>po  `r>po  `, rp +&+#r"po  , rp ++ r>ps z*0hI~oO r?po , o o t o o %(# o o ($ o  +* .=60J~o o ~o o ~o o ~o o ~o o ~o o ~o o rprp(f rp( .~o o  +*&( *0K~o o ()  +*~o o +~o o ~o o 3*0L~oO rQ7po o t ~o o -r@po 8cr[@p~o o o  r7p(a o ~o o o! o"  8 oC t I  r@p o# @($  r@p o%  r7p ( o o& o'  8T oC t o( r7p() o* 1o( o( (} ( + o( o+ o,  +u oC t1 r@p(E I    o-  r~p o.  r@p o/  (  oJ - uK,  uKoK I  r@p  r@p  r p   r@p ( o  oJ : uK,  uKoK  oJ : uK,  uKoK *AH[uen0 M~o o0 r@prprprprprpo1 o2 +oC t r@po3 oJ -uK, uKoK * ;-h0N~o o4 ~o o 3Q~o o5 o6 o7 r@p( 3r@p(h &o8 +rAp(h &+r5Ap(h &*0OrQAp(s ~o o9 o: 1U~o o9 o2 + oC t o; ob oJ - uK, uKoK + rcApob * ' r7p( ob *0TrQAp(s ~o o? YE <<<<<<</ +:r{Bpob ++rBpob +rBpob + rCpob *0U ~o o@ oA +4oC t o> ( r+Cp( 3 oB  + oJ -uK, uKoK - r=Cp(h &* VZ0VrQAp(s ~o oC oD 3rmCpob 8~o oC oA +ZoC t I rCp o= @($ rCp o> r7p ( ob oJ -uK, uKoK * 7|0xWrQAp(s rCpob ~o oE oF +$oC t oG r7p(E ob oJ -uK, uKoK * F`0vX($  ~o oH Qr)Dp(h &A E u6__t6(# 3 (I z,($ * @U A0OY(J #.:~oq or t\ (J (2 oK ~o oL *0Z~oO rQ7po o t ~o oM oN 9 rsDpo/ r7p( o +hI rHp oO @oP o. rsDp oO @oP o/ r7p ( o  oO oQ 1+r{Dp(E o *09[~o -rDp(h &++~o o  * *0\~oq or t\ oR oS oT (r ~o rDpo +. oU  o oV oW oX 3+-~o o * G5|0;]~ou oY t\ oZ (ro r~po *0 ,^~oq o rEp(E ~oq -8~oq rpo t`o o o o o ~o rEprpr3Epo[ &~oq rf"po rEp(w rEp Y(s &,( I( (z tI ~oq o\ &~oq o` *0_~ou oY t\ o] oS o] oS o^  o o o o o o_ o o^  o o oV o o` o_ o *0I`~ou oY t\ o] oa ,o o (# ($ * "9 60*a~ou oY t\ o] ~b oc &*0;b~ou oY t\ o] oS o o o *0c~oq rf"po t`od o  o] oe oV ((f j3 (g +Y +<((f j3 (g +:+2oU 3+'+ o / oU oh o *0vd+noU j oW (oU j. o +*oh oi 3 o +oj @ +oU jj. @ +-*0neoU j +oh j ok oh j3+DoU j@o r~p( @o rHp( `_-*0Kf~oq o o o o  + @o  (  1*0%g o o  o o ol om o  _,GrEp(w t&  o  + @o ( 1+Xo 3OrEp(w t&o +@o (1on ,?o 0(@o o o o ol oo *09h~oq or rEp(w tf ~b op &*0i~oq or t\ o oq ~o rEprpr3Epo[ oY t\or o o os o  +I~oq or t\ot (u rEp(E o ov  1~oq oo ~oq o` *0jrEprprp(f rp( ;~oq or t\ow oS o] oS ~oq ox o rEp(w toy o o o` ~rpo o o  ~b oz &*0'kj  ~oq or t\oR oS oT oe oR oe j 8 ֍ ֍ ֍ ֍ jj oR oe o{ j j8oU j oW j1!j +( j  1+(oU j 1"jj j j+soh joj jj1+ o| @o (- oh j oj j j.   / oV j> j j+\j.I  .7 oR oe jַo{ o}   o~ j1- j 9*(*0|l~oq or t\ oR oS +Col o} @o rp( 3o| o} oV oU oT oe 2*0}mo 1"~o r Fp(p @o +Nr!Fprprp(f rp( 3rOFp ~o r Fp(p @o *0n  ~o rUFpo ~o r Fpo - rp(~o r Fpo (y ~oq rf"po t`~oq or t\o] oS ( +o  (- oV + oU 08ol o} oj 1u+ (oj 0oh o 08oU o o{ (oh oi 3 oV +r7p (E o 8woj oV  (9WoW  o ok oh  oj   oU  +oh (oj   oU _- oU /yoU  o oW  ok oi  ڌ@o oW oi ֌@o o ol r~p(E o +s 1doh o|  ڌ@o o  ڌ@o o ol r~p(E o oV + oV  (:~o o *A0ooW oi @o o o ( rp( ( rFp( `,ao ( rp( ( rp( `_o ( rFp( _`, + + o o `, + *0poW oi @o o (} (} ( ( rp( 3rFp(E +N ( ( +,( (E o ( ( ( ( ( `- *0qPoi j Poh j1&PoU PoV PoU 1PoW +b+ Pok Poh jP@o (_-+ Pok Poh jP@o (_-*0rPoi j Poh 3&PoU Po PoU /Pol +Z+ Po| Poh P@o (_-+ Po| Poh P@o (_-*0so o 3 + *0,t ~oq rf"po t` o ~oq o @o rFp(t&rFp(s o o] oS o oi ~o to ~o o +uow oe 0+go rFpow oe ( r@po ( ob ow oe ot ~o o .o *0u ~ou oY t\ o] oS  o o oX o rFp(t&~o o rGp(s o oi o o oX +X o ~o o 3  o ob ~o o r7Gp(|  o ov  o] oe `- o *0 v ~ou oY t\ o] oS  o rEGp(trp( 38~o to ~o o +h-%~ou oY t\o] oS +*~ou oY t\o] o ,+ ~o o . o riGp(u rGp(a (h &*0,w~oq or t\ ( ( o *0,x~oq or t\ ( ( o *0Cy~oq or t\ ( ( r~p( ( (a o *0zsU  Irl>prGprprv>prprGpr@prd>pr"p rp rGp r>p o o (V oW oY + *0t{~o rGp(w @( ,rGp(h &+5~o  @( t o] (*0|o +_oC t" (,=rXHpo ,o_ oo +!rXHpo oQ oo o` o (oJ -uK, uKoK * suBSJB v2.0.50727l,%#~%'#StringsMH#US,#GUID<#BlobW 3&@ }8)  ' N$ d $h E> uN} Ne>>3>x>>>/ > > > >K > >! >f  $  U > >>P>>>#>/>I6f6 ~N B [ NJa">>}" (Np>>p N&bp>>1'`'>   ;>Q> N>  ]> HT4>A>>J>>>> >^>>**>>4>@>Y>>}*}<}I}  >W >z > > > > >!>Z!>r!>!>!> ">(">>6">A">L">g"> "">">">">#>.#>#>#>#>$>$>$>$>H%6%V%>%>%>&&>E&>&&>&&>u'6'''')7B7 M7 W e      & * = &_ &b &u &w &1 1-1:1G!JQQXas B'6 EB T c r ^   0   :  QeP ^\ ^h   ( 5  B!FSc$!F\h $`W] I$X Q&Y 'Y 'p'?9?N?ԍ_? j?Du??T@ԏ@ZZZZLCR#################l {  /<Bg<B%*B>RHLQ ! %% ^9^I^Q^^Y^$^,^4^<^$,4<a^i^q^ySc\h)0uqL^^DLvL,L^^9DJO(T8^A!A1qI@^Y^YhasQxpQv9v 2 < a19q v9*J4?)M!YqIi9uQw!} ! )Y!Quq!94i?a:aa 9a9a^q6ICqqKaWKyjVyyVi\a g:qnIiui|4Iy *1a79D|9[?qi9r9|:q9a 9rO9 %qYq.?48H< BOqPqkq t\ \ ccIiihzqqqq    +Ii]9u e\ x\.9hhh^9Oj w  1  9 ! ) )?Yq ? qv& 1,  & !2 9/7 Yq9B= E MWK )gQ uZ 9)b 1?Yq)Q !!Wa? YqYYqQ7   1higQ iQ I)Ki yL 9n 7  9i a4aa+ ^6 "2V: aqn6 9q1B H R q99 u  9 q' 4 q= qG ^gQ Ie hIp 9u 9  gQ !u ! )YqiYq   9?YqI Ka !9 (!  7 >!G!9g!+ !2 !9!9!9 9!a!h9!E 1"91"K 1T"Q AaYqao"W i?I{"hq"IYqI"] y?Q"q"c Q"qQ"m ?YqYYqYvq1# 7 ?>#1F#91I#  _#qg#91s# hYq1# #hYq1# 1# ?#1# h1&$" ?Yq1*4$4 qG$@ K$E 1T$91`$K Yn$Y$m T h$g , $g !$h!$!$1$ha$9${ q$ $g ! % %(%9 % P% d%  $h9n% u%!z%h!%h!%h!!)%!% !%1d% %%%h$' 9u/ $%g q& d%A !_ !4 !(&e !9&9M& Y&k&K~&vIqISKI&I& 9& & & q4a>!)&9& uq 9' 1kq1' ]'q/'qa@'+ I'j'K9^NI^Q^Y^9,01p} #)c. U. ^. g. @3@CCIO`#ccit3{;33+>3{3{  3##@3@C{`3`c{3{3{3{3{3#{C{#+3q3+3++3!3h!+A3A+a+a3x+3+3+3+33T+!+!3A+A3a+a3+33,+#### #@#`##### # #@ #` # # # # # # #@ #` # # # # # # #@ #` # # # ###',162[gl{?P,Vq{!&+05:?DINNSX]bglh   0 X {  @ s  ( ; { [ m { {  ! 4 L l   1<C  %*/49>B* GLGGQV[`ejojojojty~yyVe     O;TYG^y3x /    ! &. & +! 0f 5 :$ ? Dy   =>@?BACDEFHGIJKLMNP!O!R#Q#S%T%U'V'W)X)Z+Y+\-[-]/^/v1 2M 4O 6QQuu    '   >}       //'mscorlibMicrosoft.VisualBasicMyApplicationSamples.MyMyComputerMyProjectMyWebServicesThreadSafeObjectProvider`1_UtilitySamples_ApplicationObjects_StartupAccessibilityAddDirAsSlnFolderDevStudio6EditorEnvironmentEventsMakeAddinUtilitiesWinWrapperVSDebuggerVSEditorMicrosoft.VisualBasic.ApplicationServicesApplicationBase.ctorMicrosoft.VisualBasic.DevicesComputerSystemObject.cctorget_Computerm_ComputerObjectProviderget_Applicationm_AppObjectProviderUserget_Userm_UserObjectProviderget_WebServicesm_MyWebServicesObjectProviderApplicationWebServicesEqualsoGetHashCodeTypeGetTypeToStringCreate__Instance__TinstanceDispose__Instance__get_GetInstanceMicrosoft.VisualBasic.MyServices.InternalContextValue`1m_ContextGetInstanceStopDebuggingReleaseIfComObjectReleaseObjectEnvDTE_DTEDTEMicrosoft.VisualBasic.CompilerServicesIVbHostSystem.Windows.FormsIWin32WindowMicrosoft.VsaIVsaSitem_pSitem_strTitlem_HandleHostServicesm_VBHostSetSiteSetTitlestrSetHandleintPushVBHostIntoLibraryGetParentWindowGetWindowTitleget_HandleStartupHelperShutdownHelperStartupShutdownHandlefontSizeIncrementminimumSupportedEditorSizewhiteColorblackColorUpdateTextEditorFontSizeToMatchDisplayPropertiesIncreaseTextEditorFontSizeDecreaseTextEditorFontSizeToggleTextEditorGrayScaleMaximizeToolWindowsInEnvironmentSystem.Collections.SpecializedStringCollectionexcludedExtensionsoutputWindowPaneTitleIsFileExcludedfilePathEnvDTE80SolutionFolderGenerateSlnFolderOnDirStructure2currentPathcurrentSlnFolderGenerateSlnFolderOnDirStructurestartFolderParamArrpreviousSelectioncompletionWordscompletionWordsIndexPrintAllOpenDocumentsMultiplePastesCommentOutDocumentFileTypedocToggleCommentStyleStripTabsMyStrCloseExceptActiveAddRevisionMarksAddFunctionDescriptionValidIdIdPoundDefOutifndefifdefOutifndefOutOneTimeIncludeAddToCompletionWordswordExtractNextCompletionWordFillCompletionWordsSuggestNextCompletionWordAutoCompleteFromFileDTEEvents_DTEEventsget_DTEEventsset_DTEEventsWithEventsValueDocumentEvents_DocumentEventsget_DocumentEventsset_DocumentEventsWindowEvents_WindowEventsget_WindowEventsset_WindowEventsTaskListEvents_TaskListEventsget_TaskListEventsset_TaskListEventsFindEvents_FindEventsget_FindEventsset_FindEventsOutputWindowEvents_OutputWindowEventsget_OutputWindowEventsset_OutputWindowEventsSelectionEvents_SelectionEventsget_SelectionEventsset_SelectionEventsBuildEvents_BuildEventsget_BuildEventsset_BuildEventsSolutionEvents_SolutionEventsget_SolutionEventsset_SolutionEventsProjectItemsEvents_SolutionItemsEventsget_SolutionItemsEventsset_SolutionItemsEvents_MiscFilesEventsget_MiscFilesEventsset_MiscFilesEventsDebuggerEvents_DebuggerEventsget_DebuggerEventsset_DebuggerEventsProjectsEvents_ProjectsEventsget_ProjectsEventsset_ProjectsEventsTextDocumentKeyPressEvents_TextDocumentKeyPressEventsget_TextDocumentKeyPressEventsset_TextDocumentKeyPressEventsCodeModelEvents_CodeModelEventsget_CodeModelEventsset_CodeModelEventsDebuggerProcessEvents_DebuggerProcessEventsget_DebuggerProcessEventsset_DebuggerProcessEventsDebuggerExpressionEvaluationEvents_DebuggerExpressionEvaluationEventsget_DebuggerExpressionEvaluationEventsset_DebuggerExpressionEvaluationEventsSolutionItemsEventsMiscFilesEventsMakeAddinFromMacroProjProjectCopyReferencesobjProjectDestobjProjectSrcCodeFunctionIsMacroCallableFunctioncodeFuncSaveViewLoadViewTurnOnLineNumbersTurnOffLineNumbersTurnOnWordWrapTurnOffWordWrapListProjProjectItemsListProjAuxprojectItemsleveloutputWinPaneProjectItemOutputItemprojectItemAddClassicComRefFindCaseFindLastTargetFindLineListModifiedDocumentsInsertDocCommentsListMacroSamplesLineOrientedCommentStartdocumentOutputWindowPaneGetOutputWindowPaneNameshowPrepareDefaultFindpromptStepOverAllDumpStacksAddBreakpointToMainRunToNextBreakpointListBreakpointsLastHitBreakpointLastHitListAllBreakpointsDebuggerModeShowCurrentProcessLastBreakReasonAttachToCalcListDebuggedProcessesSupportedLanguagesDetachAllRunToLinelineDumpExpressionexpStrIsDebuggingpassedStringCommentRegionNewCommentLineSaveBackupOneFunctionViewBeginningOfFunctionLineToTopEmacsStyleIndentLineTopOfBlockEditPointIndentLeveleditPointSkipSpaceRightOutlineCodeCodeElementCodeElementsCollapseEltelteltslocCenterScreenPrintNumberedLinesDoForWholeFileLineEmUpFixLineEndsSetFillColumnfillColumnFillCommentParagraphIsOnNonEmptyCommentLinelinePrefixGetCommentLinePrefixMoveWordRightMoveWordLeftIsWhitespaceListMatchingLinesListNonMatchingLinesCountOccurrencesInsertTimeInsertDateInsertTimeDateIsPrintableFileprojItemPrintItemsInSelectedProjectprojItemsSystem.ComponentModelEditorBrowsableAttributeEditorBrowsableStateSystem.CodeDom.CompilerGeneratedCodeAttributeSystem.DiagnosticsDebuggerNonUserCodeAttributeDebuggerHiddenAttributeStandardModuleAttributeHideModuleNameAttributeSystem.ComponentModel.DesignHelpKeywordAttributeSystem.Runtime.CompilerServicesRuntimeHelpersGetObjectValueRuntimeTypeHandleGetTypeFromHandleActivatorCreateInstanceMyGroupCollectionAttributeget_Valueset_ValueSystem.Runtime.InteropServicesComVisibleAttributeSystem.ThreadingThreadget_CurrentThreadAbortMarshalIsComObjectReleaseComObjectExceptionProjectDataSetProjectErrorClearProjectErrorContextStaticAttributeIntPtrset_VBHostZeroGetEventSourceInstanceGetGlobalInstanceConvertToUInt32System.DrawingFontPropertyPropertiesSystemInformationget_MenuFontGetHeightMathRoundget_PropertiesItemInt32OperatorsAddObjectConditionalCompareObjectGreaterEqualSubtractObjectMicrosoft.Win32RegistryKeyFontsAndColorsItemsColorableItemsSystem.CollectionsIEnumeratorRegistryCurrentUserget_RegistryRootOpenSubKeyCreateSubKeySetValueGetValueConversionsToBooleanget_ObjectGetEnumeratorget_Currentget_NameStringConcatUInt32Parseset_Backgroundset_ForegroundMoveNextIDisposableDisposeget_Backgroundget_ForegroundWindowWindowsget_Windowsget_Documentget_AutoHidesset_AutoHidesset_LinkableSystem.IOPathGetExtensionToLowerGetFileNameContainsDirectoryGetDirectoriesGetFilesget_Parentget_ProjectItemsAddFromFilevsSaveChangesCloseOutputStringAddSolutionFolderSolution2IsNullOrEmptyInteractionInputBoxExistsMsgBoxResultMsgBoxStyleMsgBoxClearAddSolutionget_SolutionDocumentsget_DocumentsPrintOutToIntegerget_ActiveDocumentget_SelectionNewLateBindingLateCallLateSetComplexget_ActiveWindowvsWindowTypeget_TyakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEpeLateGetConcatenateObjectBooleanChangeTypeStringsCompareMethodInStrLenMidLCaseCompareStringget_LanguageTextSelectionget_TextCompareObjectGreaterCompareObjectLessAndObjectTrimLeftRightDeleteset_Textget_Countget_FullNameLTrimSelectLineConditionalCompareObjectEqualConditionalCompareObjectGreaterConditionalCompareObjectLessDateAndTimeDateTimeget_NowCompareObjectEqualCompareObjectNotEqualUCaseStartOfDocumentget_TopLineget_CurrentColumnWordRightWordLeftCancelFindTextget_CurrentLineCharRightMoveToLineAndOffsetAccessedThroughPropertyAttributeTextDocumentFileCodeModelget_ActiveSolutionProjectsLateIndexGetget_FileCodeModelget_CodeElementsCodeTypeget_Membersget_MacrosIDE_SolutionProjectsget_ProjectsOpenTextPointget_StartPointCreateEditPointget_EndPointGetTextItemOperationsget_ItemOperationsAddNewItemSelectAllInsertvsCMPartGetStartPointMoveToPointEndOfLinevsCMElementget_KindGetEndPointSmartFormatCollapseVSLangProjReferencesReferenceIEnumerableget_PathCodeParametervsCMAccessget_Accessget_ParametersStartsWithCodeTypeRefvsCMTypeRefget_TypeKindWindowConfigurationsget_WindowConfigurationsWindowConfigurationApplyget_Collectionget_FileNamesFileDialogVSProjectOpenFileDialogEnvironmentget_SystemDirectoryset_InitialDirectoryset_Filterset_FilterIndexset_TitleCommonDialogDialogResultShowDialogget_FileNameget_CurrentDirectoryLocalMachineFileSystemChDirAppWinStyleShellset_FileNameget_CheckFileExistsget_Referencesget_MessageExecuteCommandFindget_Findset_MatchCaseget_FindWhatset_FindWhatCharLeftget_Savedget_ProjectItemCodeNamespaceget_Lengthget_CharsUndoContextget_UndoContextLineUpUIHierarchyItemUIHierarchyGetItemUIHierarchyItemsget_UIHierarchyItemsset_ExpandedEndsWithOutputWindowset_VisibleOutputWindowPanesget_OutputWindowPanesActivateset_MatchWholeWordvsFindActionset_ActionvsFindTargetset_Targetset_Backwardsset_MatchInHiddenTextvsFindPatternSyntaxset_PatternSyntaxget_MainWindowget_HWndDebuggerget_DebuggerStepOverdbgDebugModeget_CurrentModeCommandWindowStackFrameExpressionProgramget_CurrentProgramThreadsget_Threadsget_IDConversionStrStackFramesget_StackFramesget_ModuleInStrRevget_FunctionNameExpressionsget_ArgumentsBreakpointBreakpointsget_BreakpointsdbgBreakpointConditionTypedbgHitCountTypeset_TagGoget_BreakpointLastHitget_Tagset_Enabledget_AllBreakpointsLastHitProcessget_CurrentProcessget_ProcessIDdbgEventReasonget_LastBreakReasonProcessesget_LocalProcessesAttachget_DebuggedProcessesLanguageLanguagesget_LanguagesCreateProjectErrorValGotoLineRunToCursorGetExpressionget_IsValidValueget_DataMembersVirtualPointget_TopPointget_BottomPointget_LineLineDownStartOfLineNewLineNewFilevsSaveStatusSaveget_ActivePointget_CodeElementOutlineSectionEndOfDocumentSystem.ReflectionMissingValuevsPaneShowHowTryToShowToLongBeepget_LineCharOffsetget_LineLengthget_DisplayColumnget_IsCodeTypeLessThanCopyPasteget_BottomLinevsStartOfLineOptionsTextPaneget_AnchorPointInt64vsWhitespaceOptionsDeleteWhitespacePadToColumnGlobalsget_Globalsset_VariableValueget_VariableExistsget_VariableValueIndexOfCharTrimStartToCharIsPunctuationIsWhiteSpacevsFindResultFind2set_WaitForFindToCompleteExecuteStatusBarget_StatusBarEqualToToLongTimeStringToLongDateStringAddRangeConditionalCompareObjectNotEqualget_IsOpenDebuggableAttributeDebuggingModesCompilationRelaxationsAttributeRuntimeCompatibilityAttributeVsaModuleVBAssembly#EnvironmentEventsDebuggerEventsMiscFilesEvents'SolutionItemsEventsSelectionEvents%OutputWindowEventsFindEventsTaskListEventsWindowEventsDocumentEventsDTEEventsDTEFontsAndColorsTextEditorFontSizeAccessibility+TextEditorInGrayScale'FontsAndColorsItems_BG_FGOAdd directory as solution folder reportThe item "U"may have not been added to the solution. ?Enter the folder path to importOThe specified folder could not be foundIThe path entered could not be found .obj .ilk .pch .pdb .exe .dll .sbr .lib .exp .bsc .tlb .ncb .sln .suo.vcproj.vbproj.csproj.vjsproj .msiEEnter the number of times to paste paste LineUpLineDown text This macro can only be run when a text editor window is active./**/ <!--  --> '  ; TopLineBottomLineGotoLineSelectLine+Unable to comment out the highlighted text because the file type was unrecognized. If the file has not yet been saved, please save it and try again...rc .rc2 C/C++ JavaODL/IDLHTML - IE 3.0 .xml'HTML 2.0 (RFC 1866)VBS Macro .def//]This macro does not work on this type of file. ... TextStartOfDocument KCould not find a closing comment mark <!----> 'Rem;iUnable to add revision marks. Unrecognized file typeStartOfLineI*********************************** ) REVISION LOG ENTRY  Revision By:  Revised on  Comments: ... G*********************************** CSharp(), (- // Function name : W// Description : // Return type : +// Argument : It is possible that the function you are trying to work with has a syntax error.You need to have an active C/C++ document open with the function prototype selected.azAZ09_#ifndef #ifdef This macro only works on .c, .cpp, .cxx, .h, .hpp, or .hxx filesWhat should the control variable be? Example: #ifdef ControlVariable- out a section of code"" is not a valid C identifier. please re-run the macro with a valid C identifier  #endif //The file you are working with does not have a file extension. Are you sure this is a C/C++ header file?#nofilenamegiven.h.h .hpp__mWhat should the control variable be? Example: #ifdef EOne time header include protection #define EndOfDocument is not a valid c identifier. please re-run the macro with a valid C identifier]This macro can only be run on .h or .hpp files[^a-zA-Z0-9]Connect.vbConnect ExecQueryStatusOnConnectionMCould not find the proper items in the project. To use this macro run the Add-in wizard, select VB as the programming language and select to create a Tools Menu item.+CreateAddinFromMacrosWarning: Running this macro will replace the Exec, QueryStatus, and OnConnection of your Add-in. Do you wish to continue?1Create Addin From Macros}Enter the name of the Macro Project to create an Add-in out ofUCould not find the specified macro project=Make Add-in From Macro ProjectPublic Sub Exec(ByVal commandName As String, ByVal executeOption As vsCommandExecOption, ByRef varIn As Object, ByRef varOut As Object, ByRef handled As Boolean) Implements IDTCommandTarget.Exec ' handled = False If (executeOption = vsCommandExecOption.vsCommandExecOptionDoDefault) Then Public Sub QueryStatus(ByVal commandName As String, ByVal neededText As vsCommandStatusTextWanted, ByRef status As vsCommandStatus, ByRef commandText As Object) Implements IDTCommandTarget.QueryStatus istatus = vsCommandStatus.vsCommandStatusUnsupported If neededText = EnvDTE.vsCommandStatusTextWanted.vsCommandStatusTextWantedNone Then }Public Sub OnConnection(ByVal application As Object, ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, ByRef custom As System.Array) Implements IDTExtensibility2.OnConnection o_applicationObject = CType(Application, EnvDTE80.DTE2) a_addInInstance = CType(addInInst, EnvDTE.AddIn) kIf connectMode = ext_ConnectMode.ext_cm_UISetup Then aDim objAddIn As AddIn = CType(addInInst, AddIn) 5Dim CommandObj As Command CDim objCommandBar As CommandBar 'If your command no longer appears on the appropriate command bar, or if you would like to re-create the command, ' close all instances of Visual Studio .NET, open a command prompt (MS-DOS window), and run the command 'devenv /setup'. objCommandBar = CType(_applicationObject.Commands.AddCommandBar("", vsCommandBarType.vsCommandBarTypeMenu, _applicationObject.CommandBars.Item("Tools")), Microsoft.VisualStudio.CommandBars.CommandBar) M{7651A701-06E5-11D1-8EBD-00A0C90F26EA}TextDocument1Common Items\Code\Module.vb%Option Strict Off I public shared DTE as EnvDTE80.DTE2C public Dim DTE as EnvDTE80.DTE2.Connect.%If commandName = "" Then handled = True 5.DTE = _applicationObject () !Exit Sub End If "Then status = CType(vsCommandStatus.vsCommandStatusEnabled + vsCommandStatus.vsCommandStatusSupported, vsCommandStatus) End If CommandObj = _applicationObject.Commands.AddNamedCommand(objAddIn, " ", "", "TODO: Enter your command description", True, 59, Nothing, 1 + 2) '1+2 == vsCommandStatusSupported+vsCommandStatusEnabled KCommandObj.AddControl(objCommandBar) End If End Sub  End If End Sub Else 'If you are not using events, you may wish to remove some of these to increase performance. EnvironmentEvents.DTEEvents = CType(_applicationObject.Events.DTEEvents, EnvDTE.DTEEvents) EnvironmentEvents.DocumentEvents = CType(_applicationObject.Events.DocumentEvents(Nothing), EnvDTE.DocumentEvents) EnvironmentEvents.WindowEvents = CType(_applicationObject.Events.WindowEvents(Nothing), EnvDTE.WindowEvents) EnvironmentEvents.TaskListEvents = CType(_applicationObject.Events.TaskListEvents(""), EnvDTE.TaskListEvents) EnvironmentEvents.FindEvents = CType(_applicationObject.Events.FindEvents, EnvDTE.FindEvents) EnvironmentEvents.OutputWindowEvents = CType(_applicationObject.Events.OutputWindowEvents(""), EnvDTE.OutputWindowEvents) EnvironmentEvents.SelectionEvents = CType(_applicationObject.Events.SelectionEvents, EnvDTE.SelectionEvents) EnvironmentEvents.SolutionItemsEvents = CType(_applicationObject.Events.SolutionItemsEvents, EnvDTE.ProjectItemsEvents) EnvironmentEvents.MiscFilesEvents = CType(_applicationObject.Events.MiscFilesEvents, EnvDTE.ProjectItemsEvents) EnvironmentEvents.DebuggerEvents = CType(_applicationObject.Events.DebuggerEvents, EnvDTE.DebuggerEvents) End If End SubReferencesAdd1System.Windows.Forms.dll9Add-in generation complete To make sure your Add-in compiles, you need to perform two actions: 1) If you had any modules with an 'Option Explicit', a duplicate will appear in the generated module. You need to remove the duplicate. e2) Any calls to automation methods/properties not prepended with 'DTE.' will need to have these manually added (for example, change 'ActiveDocument()' to 'DTE.ActiveDocument()'). EnvDTEEnvDTE80EMicrosoft.VisualStudio.CommandBars;Could not add a reference to C Try adding a reference manually.Optional GEnter the name you want to save as:%Save window layoutCEmpty string, enter a valid name.WWhich window layout would you like to load?%Load Window LayoutQEmpty string, enter a window layout name BasicShowLineNumbersPlainText HTMLXMLWordWrapM{28836128-FC2C-11D2-A433-00C04F72D18A}List Project ClearOutputString \Type Libraries (*.tlb)|*.tlb|DLLs (*.dll)|*.dll|All files (*.*)|*.*+Open COM type librarydevenv.exe#PublicAssemblies\Asoftware\microsoft\.NetFramework%SDKInstallRootv2.0bin_Unable to get tlbimp.exe location from registry'cmd /c tlbimp.exe "" /out:"Please enter the project to add the reference to (entering nothing or canceling will default to the first project in the solution)AddComReferenceUWas unable to grab Macros solution projectCWas unable to create COM+ wrapper?Was unable to add the referenceEdit.Find%Modified Documents clear members itemDidn't find a type definition as first thing in file or find a namespace as the first thing with a type inside the namespace.'Insert Doc Comments<summary>Summary of </summary><param name=></param>M{07CD18B4-3BA1-11D2-890A-0060083196C6}Macros\SamplesList Macros.cs .cpp .idl .jsl-Unrecognized file type. You can add this file type by modifying the function Utilities.LineOrientedCommentStart to include the extension of this file.M{34E76E81-EE4A-11D0-AE2E-00A0C90FFFC3}SNo program is currently being debugged. #Current Program:  Thread ( ) , = : ) mainSetByMacro+Hit tagged breakpoint/Hit untagged breakpointProgram endedDebugger/No breakpoints were hit/No breakpoint was hit 1No breakpoints are set Break Mode Design Mode Run Mode 9No process is being debugged!Breakpoint hit No reason OException not handled by the debuggee %Exception thrown calc.exe/calc.exe is not runningENo processes are being debugged. Process: [] YDebugger supports the following languages: ICould not detach from all processes. = ! = Invalid valueIDebugger doesn't exist! Fatal error.Comment Region .bak#General\Text FileM{00000000-0000-0000-0000-000000000000}Selection InsertMembersActivePoint. #Enter a command: activepaneFillColumn-Enter the fill column:80-Fill Comment Paragraph* * 'List Matching LinesMatching Lines line /List Non-matching Lines%Non-matching Lines Passed#Count OccurrencesThere were  occurrences..c .rgs .txt LengthSelect one project within the Solution Explorer, then re-run this macro.M{7651A703-06E5-11D1-8EBD-00A0C90F26EA}PI-(,z\V4?_ :        0 ()- )   % ( 159===AAAEEEIIIMMMQQQUUUYYY]]]aaaeeeiiimmmqqquuuyyy=AEIMQUY]aeimquy}}9-1 Passed    MyTemplate8.0.0.0  My.WebServicesMy.Application My.Computer My.User  a4System.Web.Services.Protocols.SoapHttpClientProtocolCreate__Instance__Dispose__Instance__   !%                  !           5 9 1  }   A } 5} MQ  U 5}E Y9 1 a 1mq 99yy q qqqq m   qq  9q=AEIMQUY]aeimquy DTEEvents BuildEventsProjectsEventsDocumentEvents WindowEventsMiscFilesEventsDebuggerProcessEventsSolutionItemsEventsOutputWindowEvents'"DebuggerExpressionEvaluationEventsDebuggerEvents FindEventsSelectionEventsTaskListEventsSolutionEventsTextDocumentKeyPressEventsCodeModelEvents       } 1      q    T"}}}91qq           1 }1   %     @} q 91     (      1       1 5 = m A !%)- I IMQ EI EEIE U U YY ] U U e a   - - !- i q 1 m  qqq uq     q    y qq uq}   q       q   q1  q1qqqqy qyy  1} 9 TWrapNonExceptionThrows % 15}E9q@!%)-EIUYa } y66 6_CorDllMainmscoree.dll% @0 6<VisualStudioProject> <VisualBasic Version = "9.0.20720.00" MVID = "{638C4F88-5680-4111-8EC9-3E71E2B16608}" ProjectType = "Local" ProductVersion = "9.0.20720" SchemaVersion = "2.0" > <Build> <Settings DefaultNamespace = "Samples" OptionCompare = "0" OptionExplicit = "1" OptionStrict = "0" ProjectName = "Samples" ReferencePath = "" TreatWarningsAsErrors = "false" WarningLevel = "1" RootNamespace = "Samples" > <Config Name = "Debug" DefineConstants = "" DefineDebug = "true" DefineTrace = "true" DebugSymbols = "true" RemoveIntegerChecks = "false" /> </Settings> <References> <Reference Name = "EnvDTE80" AssemblyName = "EnvDTE80" /> <Reference Name = "System.Drawing" AssemblyName = "System.Drawing" /> </References> <Imports> <Import Namespace = "Microsoft.VisualBasic" /> </Imports> </Build> <Files> <Include> <VSAAppGlobal VSAAppGlobalName = "DTE" ItemType = "1" VSAAppGlobalType = "EnvDTE._DTE" /> <File RelPath = "EnvironmentEvents" BuildAction = "Compile" ItemType = "2" VSAESItemType = "2" > <VSAEventSource VSAEventSourceName = "DebuggerEvents" VSAEventSourceType = "EnvDTE.DebuggerEvents" /> <VSAEventSource VSAEventSourceName = "MiscFilesEvents" VSAEventSourceType = "EnvDTE.ProjectItemsEvents" /> <VSAEventSource VSAEventSourceName = "SolutionItemsEvents" VSAEventSourceType = "EnvDTE.ProjectItemsEvents" /> <VSAEventSource VSAEventSourceName = "SelectionEvents" VSAEventSourceType = "EnvDTE.SelectionEvents" /> <VSAEventSource VSAEventSourceName = "OutputWindowEvents" VSAEventSourceType = "EnvDTE.OutputWindowEvents" /> <VSAEventSource VSAEventSourceName = "FindEvents" VSAEventSourceType = "EnvDTE.FindEvents" /> <VSAEventSource VSAEventSourceName = "TaskListEvents" VSAEventSourceType = "EnvDTE.TaskListEvents" /> <VSAEventSource VSAEvenally generated code #End Region End Module DirAsSlnFolder$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$#Samples.MakeAddin$#Samples.VSDebugger$#Samples.VSEditor $Samples$#Samples.My.MyProject$Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.FinantSourceName = "WindowEvents" VSAEventSourceType = "EnvDTE.WindowEvents" /> <VSAEventSource VSAEventSourceName = "DocumentEvents" VSAEventSourceType = "EnvDTE.DocumentEvents" /> <VSAEventSource VSAEventSourceName = "DTEEvents" VSAEventSourceType = "EnvDTE.DTEEvents" /> </File> <File RelPath = "DevStudio6Editor" BuildAction = "Compile" ItemType = "2" /> <File RelPath = "MakeAddin" BuildAction = "Compile" ItemType = "2" /> <File RelPath = "Utilities" BuildAction = "Compile" ItemType = "2" /> <File RelPath = "VSDebugger" BuildAction = "Compile" ItemType = "2" /> <File RelPath = "VSEditor" BuildAction = "Compile" ItemType = "2" /> <File RelPath = "AddDirAsSlnFolder" BuildAction = "Compile" ItemType = "2" /> <File RelPath = "Accessibility" BuildAction = "Compile" ItemType = "2" /> </Include> </Files> <Folders> <Include/> </Folders> </VisualBasic> </VisualStudioProject> "$#Microsoft.VisualBasic.Strings $Samples$Samples._ApplicationObjects2*`"Startup\"$#Samples._Utility"$#Samples._ApplicationObjects$#Samples.Utilities$#Samples.Accessibility$#Samples.AddDirAsSlnFolder$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$#Samples.MakeAddin$#Samples.VSDebugger$#Samples.VSEditor $Samples$#Samples.My.MyProject$Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings $Samples$Samples._ApplicationObjects TempObj2*%Shutdownd"%$#Samples._Utility"$#Samples._ApplicationObjects$#Samples.Utilities$#Samples.Accessibility$#Samples.AddDirAsSlnFolder$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$#Samples.MakeAddin$#Samples.VSDebugger$#Samples.VSEditor $Samples$#Samples.My.MyProject$Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings $Samples$Samples._ApplicationObjects<d 0,-.7 <m 00121 <v04561$ H<8: ;=$G l+`BCD$E%F)G*HA0  < 0JK L,< 0RS T 0$WX 8,YZ [\]%^0_7`BaIbTc[dfemfxghijklmnop6(;-9+;-7)?1<.@2<.;- 6quw#x&y2z4{5}P~S_ab}14@BC^amopM#) R#. P#, R#. N#* V#2 S#/ W#3 S#/ R#. ) TH " +X<Tt,Ld|Ld|6*d StopDebugging` $#Samples._Utility"$#Samples._ApplicationObjects$#Samples.Utilities$#Samples.Accessibility$#Samples.AddDirAsSlnFolder$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$#Samples.MakeAddin$#Samples.VSDebugger$#Samples.VSEditor $Samples$#Samples.My.MyProject$Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings $Samples$Samples._ApplicationObjects:*'ReleaseIfComObjecth'$#Samples._Utility"$#Samples._ApplicationObjects$#Samples.Utilities$#Samples.Accessibility$#Samples.AddDirAsSlnFolder$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$#Samples.MakeAddin$#Samples.VSDebugger$#Samples.VSEditor $Samples$#Samples.My.MyProject$Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings $Samples$Samples._ApplicationObjects6*H !CReleaseObjectD !C$#Samples._Utility"$#Samples._ApplicationObjects$#Samples.Utilities$#Samples.Accessibility$#Samples.AddDirAsSlnFolder$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$#Samples.MakeAddin$#Samples.VSDebugger$#Samples.VSEditor $Samples$#Samples.My.MyProject$Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileSystem&$#Microsoft.VisualBasic.Financial"$#Microsoft.VisualBasic.Globals&$#Microsoft.VisualBasic.Information&$#Microsoft.VisualBasic.Interaction"$#Microsoft.VisualBasic.VBMath"$#Microsoft.VisualBasic.Strings $Samples$Samples._ApplicationObjects e< 0 0 T'H    -B>  lC!` '  +4P4P /01 Y U!1=1!y}  Q mmu 9I  Q  5)  u  a IQ AQ9% }]   e qM= eu q]  Q9  15 !  M)!% u q    I]e}q]9 - 99  ) 59a 1ea Q  =qumQyE u=%YI  u} }UI!u  9  UIAQ Ei)-e}]i%$  @  `!  B@  @ %B @ @  E ( @ @@ @  P@  @@@  @@  @P"  @@ @  $0<HT`lx ,8DP\ht(4LXdp| $0<HT`lx ,8DP\ht(4@LXdp| $0<HT`lx ,8DP\ht(4@LXd  $ 0 < H T ` l x   , 8 D P \ h t    ( 4 @ L X d p |  $ 0 <  $ 0 < & (0CRX+*e(0X*e(0ݒZX*e(0%X*e#(0A$X*#e(0 ؅X_*eY(0mlX*Ye(0&xVX3*e(0X*eS%.cctor)06000026%IsFileExcluded)06000027.%GenerateSlnFolderOnDirStructure2)06000028.%0 GenerateSlnFolderOnDirStructure)0 06000029%Equals)06000008%GetHashCode)06000009%@GetType)@0600000a% ToString) 0600000b"%|Create__Instance__)|0600000c"%D /)06000026%IsFileExcluded)06000027.%GenerateSlnFolderOnDirStructure2)06000028.%0 GenerateSlnFolderOnDirStructure)0 06000029%Equals)06000008%GetHashCode)06000009%@GetType)@0600000a% ToString) 0600000b"%|Create__Instance__)|,Dispose__Instance__),0600000d%.ctor)0600000e"% PrintAllOpenDocuments) 0600002a% MultiplePastes) 0600002b% CommentOut) 0600002c% FileType) 0600002d"%8 ToggleCommentStyle)8 0600002e% StripTabs) 0600002f%# CloseExceptActive)# 06000030%) AddRevisionMarks)) 06000031&%0 AddFunctionDescription)0 06000032%<7 ValidId)<7 06000033%,= PoundDefOut),= 06000034%C ifdefOut)C 06000035%I ifndefOut)I 06000036%tN OneTimeInclude)tN 06000037"%T AddToCompletionWords)T 06000038&%0Z ExtractNextCompletionWord)0Z 06000039"%_ FillCompletionWords)_ 0600003a&%e SuggestNextCompletionWord)e 0600003b"%k AutoCompleteFromFile)k 0600003c%.cctor)06000003%get_Computer)06000004%$get_Application)$06000005% get_User) 06000006%hget_WebServices)h06000007% StepOverAll) 06000077%d DumpStacks)d 06000078"% AddBreakpointToMain) 06000079"%\ RunToNextBreakpoint)\ 0600007a&% ListBreakpointsLastHit) 0600007b% BreakpointLastHit) 0600007c"%l# ListAllBreakpoints)l# 0600007d%X) DebuggerMode)X) 0600007e"%. ShowCurrentProcess). 0600007f%4 LastBreakReason)4 06000080%l: AttachToCalc)l: 06000081"%(@ ListDebuggedProcesses)(@ 06000082"%F SupportedLanguages)F 06000083%K DetachAll)K 06000084%Q RunToLine)Q 06000085%W DumpExpression)W 06000086%] IsDebugging)] 06000087&% MakeAddinFromMacroProj) 0600005f% CopyReferences) 06000060&% IsMacroCallableFunction) 06000061%CommentRegion)06000089% NewCommentLine) 0600008a% SaveBackup) 0600008b% OneFunctionView) 0600008c"%BeginningOfFunction)0600008d%LineToTop)0600008e"% #EmacsStyleIndentLine) #0600008f%(TopOfBlock)(06000090%.IndentLevel).06000091%\4SkipSpaceRight)\406000092%9OutlineCode)906000093%?CollapseElt)?06000094%TFCenterScreen)TF06000095"%KPrintNumberedLines)K06000096%QDoForWholeFile)Q06000097%4XLineEmUp)4X06000098%`FixLineEnds)`06000099%eSetFillColumn)e0600009a"%%UpdateTextEditorFontSizeToMatchDisplayProperties)06000021*%IncreaseTextEditorFontSize)06000022*%0 DecreaseTextEditorFontSize)0 06000023&%dToggleTextEditorGrayScale)d06000024.%MaximizeToolWindowsInEnvironment)06000025%SetSite)06000015%dSetTitle)d06000016%SetHandle)06000017"%$ PushVBHostIntoLibrary)$ 06000018% GetParentWindow) 06000019%GetWindowTitle)0600001a%get_Handle)0600001b% StartupHelper) 0600001c%ShutdownHelper)0600001d%Startup)0600001e%d"Shutdown)d"0600001f%StopDebugging)06000011"%hReleaseIfComObject)h06000012%ReleaseObject)0600001306000013r$#Samples.EnvironmentEvents$#Samples.MakeAddin$#Samples.Utilities$#Samples.VSDebugger$#Samples.VSEditor$#Samples._Utility"$#Samples._ApplicationObjects $Samples$#Samples.My.MyProject$Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Micw 1 !'"*TX,TSamples.My.MyComputer13D5DBCApSamples.My.MyProjectD96357D2XWSamples.My.MyProject.MyWebServices1AF645B1DhVSamples.My.MyProject.ThreadSafeObjectProvider`1F6D6B591L $Samples._UtilityC7E9E410%VSamples._Startup93FB01224HSamples.AccessibilityC20BB767Samples.AddDirAsSlnFolderF0E53C66qSamples.DevStudio6EditorFB596022( @Samples.MakeAddin5FC086A1QthSamples.UtilitiesAF9EDB74 `Samples.WinWrapperB01AD322bP :Samples.VSDebugger57D94EF4(\ xVSamples.VSEditor0B6646D7-.as  )2ccAesP.F_$esnes ldam6E$ onak$tiso .Dam.r.Vices $Ut'amonC!icd sm y.vVi.V.C+$.V ve$ uaeAicuateicass.s.alsoasK$.V ;or$ERuaericuauaso3L.S$$asm ppb Js*  om2amecam6liam~ln$5ud|nvenr!mes"ti$$ugam$es$5$Ap#'Jtsmpm'nesec'ofsi(Pso(.Vas) so1 .C$2 uah3J .V.D3P $.V4( eS$*5( uaanR6( icuaz7( so8 .IQ9r .V.I9w $.V:: atic =( as1=8 s.i=K je= mp> jA caB Cg esnC .VsoD .IecJ@2E)5VE/LinkInfo/names/src/headerblock/src/files/17d14f5c-a337-4978-8281-53493378c1071.vb/src/files/vsmacros:\\\\craigs2\c%24\dd\toolplat_1\src\redist\x86\retail\bin\i386\samples.vsmacros\_startup/src/files/vsmacros:\\\\craigs2\c%24\dd\toolplat_1\src\redist\x86\retail\bin\i386\samples.vsmacros\accessibility/src/files/vsmacros:\\\\craigs2\c%24\dd\toolplat_1\src\redist\x86\retail\bin\i386\samples.vsmacros\adddirasslnfolder/src/files/vsmacros:\\\\craigs2\c%24\dd\toolplat_1\src\redist\x86\retail\bin\i386\samples.vsmacros\devstudio6editor/src/files/vsmacros:\\\\craigs2\c%24\dd\toolplat_1\src\redist\x86\retail\bin\i386\samples.vsmacros\environmentevents/src/files/vsmacros:\\\\craigs2\c%24\dd\toolplat_1\src\redist\x86\retail\bin\i386\samples.vsmacros\makeaddin/src/files/vsmacros:\\\\craigs2\c%24\dd\toolplat_1\src\redist\x86\retail\bin\i386\samples.vsmacros\utilities/src/files/vsmacros:\\\\craigs2\c%24\dd\toolplat_1\src\redist\x86\retail\bin\i386\samples.vsmacros\vsdebugger/src/files/vsmacros:\\\\craigs2\c%24\dd\toolplat_1\src\redist\x86\retail\bin\i386\samples.vsmacros\vseditor 3     "k VVm.Diagnostics$EnvDTE80 $EnvDTE $Samples$#Samples.My.MyProject$Microsoft.VisualBasic&$#Microsoft.VisualBasic.Constants&$#Microsoft.VisualBasic.Conversion&$#Microsoft.VisualBasic.DateAndTime&$#Microsoft.VisualBasic.FileS#8 XXXXXXXXXX(ȍtoTxb8, ,,h  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~win" VB$t_array$S0 _refVB$t_ref$L1  VB$t_ref$L2"  VB$t_array$S1"  VB$t_array$S22*42-FileType02$#Samples.DevStudio6Editor$#Samples.EnvironmentEvents$#Samples.MakeAddin$#Samples.Utilities$#Samples.VSDebugger$#Samples.VSEditor$#Samples._Utility"$#Samples._ApplicationObjects$#Samples.Accessibility$#Samples.AddDiMZ@ !L!This program cannot be run in DOS mode. $PEL+D!  8 @@ `@8K@  H.text  `.reloc @0@Bp8H&( **( *s s s s *0~o +*0~o +*0~o +*0~o +*0( ( +*0 ( +*0( +*0 ( +*0 - (+ ++ +*0 **( *0/ { o -(+ { o  +*V( s } *:( o *v( (! , ( (" &*0" ( (%(# ($ * 6&( **}**}*B| (& *Vs' } (( *0, | ~* 99o , ++ +*0 { +*0 {  +**0(=((>(?((@(A((B(C((D(E((F(G((H(I((J(O((P(Q((R(S((T~(*0o{rpr%po- ( ,t(> {rpr9po- ( ,t(@ {rprWpo- ( ,t(B {rprqpo- ( ,t(D {rprpo- ( ,t(F {rprpo- ( ,t(H {rprpo- ( ,t(J {rprpo- ( ,t(P {rprpo- ( ,t(R {rpr3po- ( ,t(T {rQpo. t*v{(}o*r (/ (/ *0L(0 o1 "@@Ykl(2 ~rYprwpo3 rpo4 @o5 *0<~rYprwpo3 rpo4 o6 @(7 o5 *0S~rYprwpo3 rpo4 o6 @(8 , o6 @(9 o5 *0~: ~o; o< rpo< -+rpo= &rpo< rp@o> rpo? (@ ~rYprwpo3 rpo4 oA tC 9 oB +aoC tDoD rp(E o? (F (G oH oD rp(E o? (F (G oI oJ -uK, uKoK rp@o> 8 oB +yoC tDoD rp(E oL   (M o> oD rp(E oN   (M o> ~ oH ~oI oJ :{uK, uKoK rp@o> *w@0~oO oP +SoC tL oQ -=oR ,oS %(# ($ oT (# ($ oJ -uK, uKoK *$)<6M W 6prZsU rp*0M(V oW (X oW ~oY , ++~oY , + + +*0(Z ([   +|  ('-fo\ o] o^ ,o_ ,o_ o` 2(# ~(sroprp(a ob ($     ?y   +?  ('-)(X oc od t ((    2* &2X260(e ,'rprprp(f (e ,8(g -rp(h &8~(soi (g - ~(srmpob 8nsU ~rpoj &~rpoj &~rpoj &~rpoj &~rpoj &~rpoj &~rpoj &~rpoj &~rpoj &~rpoj &~rpoj &~r%poj &~r/poj &~r9poj &~rCpoj &~rSpoj &~rcpoj &~rspoj &~rpoj &~ok tQ (X ol od t  ((*0K~om on +oC t oo oJ -uK, uKoK * 130rprprp(f (p  8~oq or rp(s &~oq or rp(s &~oq or rp(s &~oq or rpr p(t   >R*0 ~ou ov .rp(h &8~oq (-_,j~oq or rprp~oq or rp(w (x rp(x (t 8h3j~oq or rprp~oq or rp(w (x rp(x (t 8`93rp +rp ~oq or rp(w (y ~oq or rp(w (y  /    3\~oq or rp~oq or rp(w (x (t 8 @@@ (z 9~oq or rp(   [   (s & ,  ( ~oq or rp(s &~oq or rp  ~oq or rp(w (x  (t  ({ :+rp(h &*03o|  r<p(} 1-+ (~ ( r<p(} 3( r@p( rHp( `, 8o rRp( 3 8o r^p( 3 8o rhp( 3 +qo rxp( 3 +Yrp( 3 +Fo rp( 3 +.o rp( 3 +rp( 3 + *0rp ~oq or t^ o ~oq (-@ @( @( ( (@ 9=( &rp(} .`+8rp(} ( (E (~ rp(} ( rp(} 3rprp( 8rp(} ;(~ rp(} ( +9r p(} ( rp(a (~ r p(} ( r p(} 3rp( (a rp(} ( ~oq or t^ o o +rp(h &*07+(~ rHp(} ( rHp(} 0( *0 ~om o +e~om @o ~oq o o ( . (y o` + ~om o 1+-*0 rLp @  rp rprp~oq o rTp( @y~oq (-@ ~oq or r^p(s &~oq or rp(s &~oq or t^o (  @(  @( ( (@ 9][ rp rpr~po rp(} 3o o ( [ +++[( ,%~oq or rp(s &[( 9~oq or r^p(s &~oq or rp(s &~oq or rTp(w (F ~oq or rp(s &~oq or rp(s &( rp(} @8~oq or rp(s &o ( ~oq or rp(s &~oq or rp(s &  rp(} [ @( ( (@ :I @( , rp(h &8 @( 9rp rprprp(} @rp(} .*~oq or rp(s &8~oq or rp(s &~oq6789:;<=>?@ABCDEFGH or rTp(w (F (~ ( ~oq or t^r p(E o rp(} ,+8Z8 @( 9rp rprp~oq or t^o rp(} ( rp(} `,I~oq or rp(s &~oq or (F ( [ ++8e[( ,%~oq or rp(s &8 @( 9rp rprp~oq or t^o rp(} 3I~oq or rp(s &~oq or (F ( [ +++[( ,%~oq or rp(s & @( ,rp(h &8H @( 96~oq or rd p(s &~oq or t^r pr| p(a o o r p(a o I  o   r p  r p ( o  I  o   r p ( (  r p  r( p  rH p    r p ( o *0 }!~oq -8h~oq o rRp( ~oq o r p( `9~oq or t^  o ( &rp  o rp( . o ( (/(F rp( ;~oq o r p( 3(~ r~p(} ( r~p(} @ r p(} @ ( ,8@(9 (y (  (~ @ (9 (y (   r~p(} (  r p(} ڌ@r p(} @@( @( ( (@ 9(y ( (~ (~ ( ( &r~p(} .5 r~p(} ( (E  (~ r~p(} (  +#  (~ r p(} ( r p(} 3 >K   ֍I8~ r p(} ( ~ ښr p(} .f~ ~ ښ~ ښ(~ ~ ښ(~ ~ ښ(~ ~ ښr p(} ( ~ ( &(~ r p(} (  r p(} @3~ ~ ښr p(} .=~ ~ ښ~ ښr p(} ( ~ ښ( &8I(~ ( ( &~(/(F ~r p(} .8~~~r p(} ( ~( &~oq or rp(s &~oq or rp(s &~oq or rd p(s &~oq or t^ r pr p(a r p(E  r p(a @8~ښr p(} .o~~ښ~ښ(~ ~ښ(~ ~ښ(~ ~ښr p(} ( ~ښ( &~~ښ(/(F @( @( ( (@ ,+~~ښ~ښ(~ ( r6 p~ښr p( @r p(E ~oq or t^  o +rb p(h &+r p(h &*0n"[ rp( 3 [ 8H@(~ @@(z 9(y ( r p( (y ( r p( `9(y ( r p( (y ( r p( `,](y ( r p( (y ( r p( `,#(y ( r p( .[ ({ :( r p( ( r p( _,[ *0#[( ,r p +r p ~oq (-.r p(h &8rq p r p(E rp(f  (3[( , r,pr0p(a (h &~oq or t^@o (~ ڌ@@(z ,{o (y ( r p( 3Lo (y ( rHpo o (~ @(9 (y ( (a o ({ -rp( _9I  r p    rp o  rp  ( o o ( r p( .o r p(E o *>[(4*>[(4*06$~oq o| rp( 3rp(h 38rp ( r<p(} +#  (~ ( r<p(} 3 ( r<p(}  rp(  rp( `9p~oq or r^p[(s &Irp( r p (~ ( ( rp( rp(E rhp(f ~oq or t^(3[( 9Ir prpr p( o ~oq or rp[(s &rp(E o +rp(E (h &+rp(h &*0K~r~pr~p(a ( .+&r~p( .~r~p(a *0o%rp ~(~ 0+V~~(~ 1~~r~p( 3+ ~~~( ր*0&r~p~oq or t^rp(E  o +a,o o  +o o _,+;o o o ( (8o  o -*0Q'[ ~oq or t^ (9(F rp( .o o *0(~oq -8+o rTp( .+wor t^ o o o o o ( r~p( 3 o +& o (: o o (;&*0 )~ +*"*0 *~ +*"*0 +~ +*"*0 ,~ +*"*0 -~ +*"*0 .~ +*"*0 /~ +*"*0 0~ +*"*0 1~ +*"*0 2~ +*"*0 3~ +*"*0 4~  +*" *0 5~! +*"!*0 6~" +*""*0 7~# +*"#*0 8~$ +*"$*0 9~% +*"%*0:~o @( t  o] rpo o o r po tdo rpo r'po  r?po  *(# rYp0rp(h &($ T($ rp4rp(h 382rprprp(f (~ 3#~o ok o @o +i~o ok o o +&oC to ( 3oJ -uK, uKoK -r{p0rp(h &8frp rp(E rp(E r_p  rp(E   r^p(E  r prp(E rp(E rZp(E rp(E r(p(E r^p(E rp(E rp(E r~ po r!p( o] o 8oC t"  r"po oQ rf"po tbo o o o 9~o r"p o r"p(E o o_ rf"po tbo o o o  o rp( .r"po o o o  o o o o o o  o o @o o 3r"po +r,#po tdo o  8X oC t%o @;t (a[( 9 o rp#po (a  r#pr#p( r#p(E  o r#p(a I!! ! o !r<p!o !r$p!( r$p(E  r#pr:$p(   rH$p(E  I!!!r?%p!o !r%p!o !r%p!( r&p(E  oJ : uK,  uKoK oJ :uK, uKoK r'p(E tdo rpo o o o o  o  r?'p(E  tdo r'po   o o  o o  o r_'p(E rk'p(E r&(p(E r(p(E r)p(E r*p(E r+p(E rC,p(E r:-p(E r.p(E r /p(E r/p(E r0p(E r0p(E tdo r?po   o o  o o o  (` od r0p(w r0pr1p(s &o_ or t^o o o (# ($ r41p rn1p(E r1p(E r 3p(E @rp(h &*Ax*6Oklt!, 60;od r0p(w tl od r0p(w tno 8oC tm o rp( ;o rs4p( o r4p( _o r4p( _,;o o &*(# r4po r5p(a (h &($ oJ :KuK, uKoK **6"0<o 3 [ 8o o 3 [ 8o o +V oC to o o o o rY5po - [ E+o o . [ , oJ - uK, uKoK [ +* 3o0K=rm5pr5prp(f rp( 3r5p(h &+~o o &*0Q>r6prw6prp(f rp( 3r6p(h &+~o o o *0)~rwpr6po3 r6po4 [o5 ~rwpr7po3 r6po4 [o5 ~rwpr po3 r6po4 [o5 ~rwpr/7po3 r6po4 [o5 ~rwprRpo3 r6po4 [o5 ~rwpr97po3 r6po4 [o5 ~rwprU7po3 r6po4 [o5 *0)~rwpr6po3 r6po4 [o5 ~rwpr7po3 r6po4 [o5 ~rwpr po3 r6po4 [o5 ~rwpr/7po3 r6po4 [o5 ~rwprRpo3 r6po4 [o5 ~rwpr97po3 r6po4 [o5 ~rwprU7po3 r6po4 [o5 *0)~rwpr6po3 r]7po4 [o5 ~rwpr7po3 r]7po4 [o5 ~rwpr po3 r]7po4 [o5 ~rwpr/7po3 r]7po4 [o5 ~rwprRpo3 r]7po4 [o5 ~rwpr97po3 r]7po4 [o5 ~rwprU7po3 r]7po4 [o5 *0)~rwpr6po3 r]7po4 [o5 ~rwpr7po3 r]7po4 [o5 ~rwpr po3 r]7po4 [o5 ~rwpr/7po3 r]7po4 [o5 ~rwprRpo3 r]7po4 [o5 ~rwpr97po3 r]7po4 [o5 ~rwprU7po3 r]7po4 [o5 *0?~oO ro7po ~o t  3+~o @( t ~ou 3 o ( +$r7p(s r7p(s &o] ( (i*0s@o +E oC t" o 3.( (jo  -( (i oJ - uK, uKoK * Y[0xA +'r7p rp(s & 2r7p o (s &r7p r7p(s &*0Bsus ( r8p(} ( o r8po o r8po o @Ho o (~ ( (~ ( r<p(} ( rp(E ~o ~o r8p(} ( r8p(E ~ r8po ,"r89prpo r^9p(x (F r^9p( 3rf9p(h &ݘ( I  r9p o  r9p    r,p ( ( &r:pr;prp(f (~ 3-~o ok o @o od tv+r~o ok o o  +/ oC t  o ( 3 od tv oJ - uK,  uKoK -r';p(h &n (E o o -r};p(h &Go  (E o - r;p(h &%(#   o (h &($ *A0X36~r<prpo ~o o *09C~o o ~r<prpo ~o o *0LD~oq or t^ o ~r<prpo ~o o o *0 E~oO ro7po ~ou 3o ( +$r<p(s r;<p(s &~om on +Q oC t o -;r7po| rG<po r7p( (s & oJ - uK, uKoK * Wn0F~oq o o o @o u~,>rO<p(w r_<p  @ (w t% ud, td + ri<ps zo o (r o 3o ( r~p(a +-o 3$o ( o ( r~p( ~o rf=po o o  8{ oC t% o @`t  o o o  r7po o rHpr=p(a o r7po I  rHp  r=p o  r<p ( o r7po rHpr=p(a o r7po rHp(E o  o  +S oC t%to r=po r=p(a o r7po rHp(E o  oJ - uK,  uKoK  oJ :y uK,  uKoK ~o o *AHj0G~oO r=po o t rL>po  rj>p(s oi o  o  o  o  8oC t  o  r7p(E ob o  o  o  o  +,oC trG<po  r7p(a ob oJ -uK, uKoK oJ :buK, uKoK *GM0H- ~oq o| r>po r>po `rpo `r>po `r>po `, rp +&+#r"po , rp ++ r>ps z*0hI~oO r?po , o o t o o %(# o o ($ o  +* .=60J~o o ~o o ~o o ~o o ~o o ~o o ~o o rprp(f rp( .~o o  +*&( *0K~o o (&  +*~o o +~o o ~o o 3*0L~oO ro7po o t ~o o -r%@po  8cry@p~o o o! r7p(a o  ~o o o" o#  8 oC t I  r@p o$ @(%  r@p o&  r7p ( o  o' o(  8T oC t o) r8p(* o+ 1o) o) (~ ( + o) o, o-  +u oC t1 r@p(E I    o.  r~p o/  r@p o0  (  oJ - uK,  uKoK I  r@p  r@p  r p   r@p ( o   oJ : uK,  uKoK  oJ : uK,  uKoK *AH[uen0 M~o o1 r@prprprprprpo2 o3 +oC t r@po4 oJ -uK, uKoK * ;-h0N~o o5 ~o o 3Q~o o6 o7 o8 r@p( 3r@p(h &o9 +r#Ap(h &+rSAp(h &*0OroAp(s ~o o: o; 1U~o o: o3 + oC t o< ob oJ - uK, uKoK + rApob * ' @(% r@po? r7p( ob *0TroAp(s ~o o@ YE <<<<<<</ +:rBpob ++rBpob +rBpob + r#Cpob *0U ~o oA oB +4oC t o? ( rICp( 3 oC  + oJ -uK, uKoK - r[Cp(h &* VZ0VroAp(s ~o oD oE 3rCpob 8~o oD oB +ZoC t I rCp o> @(% rCp o? r7p ( ob oJ -uK, uKoK * 7|0xWroAp(s rCpob ~o oF oG +$oC t oH r7p(E ob oJ -uK, uKoK * F`0vX($  ~o oI QrGDp(h &A E u6__t6(# 3 (J z,($ * @U A0OY(K #.:~oq or t^ (K (2 oL ~o oM *0Z~oO ro7po o t ~o oN oO 9 rDpo0 r7p( o  +hI rHp oP @oQ o/ rDp oP @oQ o0 r7p ( o   oP oR 1+rDp(E o  *09[~o -rDp(h &++~o o  * *0\~oq or t^ oS oT oU (r ~o rEpo +. oV  o oW oX oY 3+-~o o * G5|0;]~ou oZ t^ o[ (ro r~po *0 ,^~oq o r#Ep(E ~oq -8~oq rpo tbo o o o o ~o r-EprprQEpo\ &~oq rf"po rEp(w rEp [(s &,( I( (] tI ~oq o^ &~oq o` *0_~ou oZ t^ o_ oT o_ oT o`  o o o o o oa o o`  o o oW o ob oa o *0I`~ou oZ t^ o_ oc ,o o (# ($ * "9 60*a~ou oZ t^ o_ ~d oe &*0;b~ou oZ t^ o_ oT o o o *0c~oq rf"po tbof o  o_ og oW ((h j3 (i +Y +<((h j3 (i +:+2oV 3+'+ o / oV oj o *0vd+noV j oX (oV j. o +*oj ok 3 o +ol @ +oV jj. @ +-*0neoV j +oj j om oj j3+DoV j@o r~p( @o rHp( `_-*0Kf~oq o o o o  + @o  (  1*0%g o o  o o on oo o  _,GrEp(w t&  o  + @o ( 1+Xo 3OrEp(w t&o +@o (1op ,?o 0(@o o o o on oq *09h~oq or rEp(w th ~d or &*0i~oq or t^ o os ~o r-EprprQEpo\ oZ t^ot o o ou o  +I~oq or t^ov (w rEp(E o ox  1~oq oo ~oq o` *0jrEprprp(f rp( ;~oq or t^oy oT o_ oT ~oq oz o rFp(w to{ o o ob ~rpo o o  ~d o| &*0;kj  ~oq or t^oS oT oU og oS og j 8[ ֍ ֍ ֍ ֍ jj oS og o} j j8oV j oX j1!j +( j  1+(oV j 1"jj j j+soj jol jj1+ o~ @o (- oj j ol j j.   / oW j> j j+aj.N[  .7 oS og jַo} o   o j1( (@ , j 9(*0|l~oq or t^ oS oT +Con o @o rp( 3o~ o oW oV oU og 2*0}mo 1"~o r)Fp(p @o +Nr?Fprprp(f rp( 3rmFp ~o r)Fp(p @o *0n  ~o rsFpo ~o r)Fpo - rp(~o r)Fpo (y ~oq rf"po tb~oq or t^o_ oT ( +o  (- oW + oV 08on o ol 1m+ (ol 0oj o 00oV o o} (oj ok 3+r7p (E o 8wol oW  (9WoX  o om oj  ol   oV  +oj (ol   oV _- oV /yoV  o oX  om ok  ڌ@o oX ok ֌@o o on r~p(E o +s 1doj o~  ڌ@o o  ڌ@o o on r~p(E o oW + oW  (:~o o *A0ooX ok @o o o ( rp( ( rFp( `,ao ( rp( ( rp( `_o ( rFp( _`, + + o o `, + *0poX ok @o o (~ (~ ( ( rp( 3rFp(E +N ( ( +,( (E o ( ( ( ( ( `- *0qPok j Poj j1&PoV PoW PoV 1PoX +b+ Pom Poj jP@o (_-+ Pom Poj jP@o (_-*0rPok j Poj 3&PoV Po PoV /Pon +Z+ Po~ Poj P@o (_-+ Po~ Poj P@o (_-*0so o 3 + *0,t ~oq rf"po tb o ~oq o @o rFp(t&rFp(s o o_ oT o oi ~o to ~o o +uoy og 0+go rFpoy og ( r@po ( ob oy og ov ~o o .o *0u ~ou oZ t^ o_ oT  o o oY o rFp(t&~o o r/Gp(s o oi o o oY +X o ~o o 3  o ob ~o o rUGp(}  o ox  o_ og `- o *0 v ~ou oZ t^ o_ oT  o rcGp(trp( 38~o to ~o o +h-%~ou oZ t^o_ oT +*~ou oZ t^o_ o ,+ ~o o . o rGp(w rGp(a (h &*0,w~oq or t^ ( ( o *0,x~oq or t^ ( ( o *0Cy~oq or t^ ( ( r~p( ( (a o *0zsU  Ir>prGprpr>prprGpr@pr>pr"p rp rGp r>p o o (V oW oY + *0t{~o rGp(w @( ,rGp(h &+5~o  @( t o] (*0|o +_oC t" (,=rvHpo ,o_ oo +!rvHpo oQ oo o` o (oJ -uK, uKoK * suBSJB v2.0.50727lX%#~%8(#StringsMH#US#GUIDЖ#BlobW 3&@ }>)  *( N$ d $h E> uN} Ne>>3>x>>>/ > > > >K > >! >f  $  U > >>P>>>#>/>I6f6 ~N B [ NJa">>}" (Np>>p N&bp>>1'`'>   ;>Q> N> Ng5 M U> }Hi>v>>J>>>>U>>>** +>9>i>u>>>}*}q}~}  3 > > > > > >2!>K!>!>!>!>!">@">]">>k">v">">"> "">#>!#>,#>H#>c#>#>#>$>H$>Q$>$>'%>%v%%> &>5&>N&T&>&>&'> 'H'>'6''( ()7B7 M7 W e      & * = &_ &b &u &w &1 1-1:1G!JQQXas B'6 EB T c r ^   0   :  QeP ^\ ^h   ( 5  B!FSc$!F\h $W] I$Y Q&Y 'PZ 'Z '[ ' ] 'X^ '_ 'L`#X'`\a*`as-pd-d-d-'?،9?N?_?<j?tu?ď?@@ZZZZLCR#################l {  /<Bg<B%*B>RHLQ ! %% ^9^I^Q^^Y^$^,^4^<^$,4<a^i^q^ySc\h)0uqL^^DLvL,L^^9DJO(T8^^Y^YhaA!sA1qI@QxpQv9v 2 < a19q v9*J4?)M!YqIi9uQw!} ! )Y!Quq!94i?a:aa 9a9a^q6ICqqKaWKyjVyyVi\a g:qnIiui|4Iy *1a79D|9[?qi9r9|:q9a 9rO&%=1qYqcNimWq w^qqq k k rrIixhqqqq " @ `Ii9u k kc9hh  h*4# ^9    1 ! 9 1& 9, 9?Yq ?2 qv!9 A0? @9 !ME 9dJ YqIwP X ^ )d m 9)u 1?Yq)d !!q? i"qiYqa7 D O 1hyd yd I^Ky  9 7  9i a4aa> ^#I 7LWgM qI 9q1U [  e  q9$ 98 A 9O q\ i qr q| ^!d I hI 9u 9  d ! ! )YqyYq  ! !9?YqI)!Ka?!9]! ! !7% s!|!9!> !E !9!9!L 9 "a"h9*"X A7"9AM"^ A"d QqYqq"j y?Y"h"YYqY"p ?a"q"v a"qa# ?iqiYqivqA8# 7 ?s#A{#9A~#  #q#9A# hYqA# #hYqA# A$ ?+$A2$ hA[$5 ?YqA*i$G |$S $X A$9A$^ i$i$ g h$z 0? $z !$h!$!%A$ha %I% 9% q4% 9%z !I% Y%h%9I% % % 0 $h9% %!%h!%h!%h!*!)%!%! !Y%A% & &&h%A 9uI $>&z q !9 %[ !4y !i !h& !y& &9& !&!&K!&vIqISKI&I& 9& )& )' q4as!9&'9@' uq 9R'AqA`'! h'qy'qa'E ''KI^hY^a^i^9,01p} #);. . o. x. @3@CCIm`#cciL3{Y33+>3{3{ 3 ##@3@C{`3`c{3{3{3{3{3#{C{#;++;+;+;!+!;A;A+a+a;;+;+;(+;+;+!+!;A;A+a+a;;A++;\#### #@#`##### # #@ #` # # # # # # #@ #` # # # # # # #@ #` # # # ###',162[gl{?P9e{*49>CHMRW\aafkpuz{ $ 1 C k   ,  S   ' ; N n    ( ; N f   009KV]   !& +0+5:?DINSX \!05D&afaakpuzp!!!+!!!!+&0!!&&!!!!!!++   O;TYG^y3x /    ! &. & +! 0f 5 :$ ? Dy   =>@?BACDEFHGIJKLMNP!O!R#Q#S%T%U'V'W)X)Z+Y+\-[-]/^/v1 2S 4W 6YYuu   ! *(   >}       //'mscorlibMicrosoft.VisualBasicMyApplicationSamples.MyMyComputerMyProjectMyWebServicesThreadSafeObjectProvider`1_UtilitySamples_ApplicationObjects_StartupAccessibilityAddDirAsSlnFolderDevStudio6EditorEnvironmentEventsMakeAddinUtilitiesWinWrapperVSDebuggerVSEditorMicrosoft.VisualBasic.ApplicationServicesApplicationBase.ctorMicrosoft.VisualBasic.DevicesComputerSystemObject.cctorget_Computerm_ComputerObjectProviderget_Applicationm_AppObjectProviderUserget_Userm_UserObjectProviderget_WebServicesm_MyWebServicesObjectProviderApplicationWebServicesEqualsoGetHashCodeTypeGetTypeToStringCreate__Instance__TinstanceDispose__Instance__get_GetInstanceMicrosoft.VisualBasic.MyServices.InternalContextValue`1m_ContextGetInstanceStopDebuggingReleaseIfComObjectReleaseObjectEnvDTE_DTEDTEMicrosoft.VisualBasic.CompilerServicesIVbHostSystem.Windows.FormsIWin32WindowMicrosoft.VsaIVsaSitem_pSitem_strTitlem_HandleHostServicesm_VBHostSetSiteSetTitlestrSetHandleintPushVBHostIntoLibraryGetParentWindowGetWindowTitleget_HandleStartupHelperShutdownHelperStartupShutdownHandlefontSizeIncrementminimumSupportedEditorSizewhiteColorblackColorUpdateTextEditorFontSizeToMatchDisplayPropertiesIncreaseTextEditorFontSizeDecreaseTextEditorFontSizeToggleTextEditorGrayScaleMaximizeToolWindowsInEnvironmentSystem.Collections.SpecializedStringCollectionexcludedExtensionsoutputWindowPaneTitleIsFileExcludedfilePathEnvDTE80SolutionFolderGenerateSlnFolderOnDirStructure2currentPathcurrentSlnFolderGenerateSlnFolderOnDirStructurestartFolderParamArrpreviousSelectioncompletionWordscompletionWordsIndexPrintAllOpenDocumentsMultiplePastesCommentOutDocumentFileTypedocToggleCommentStyleStripTabsMyStrCloseExceptActiveAddRevisionMarksAddFunctionDescriptionValidIdIdPoundDefOutifndefifdefOutifndefOutOneTimeIncludeAddToCompletionWordswordExtractNextCompletionWordFillCompletionWordsSuggestNextCompletionWordAutoCompleteFromFileDTEEvents_DTEEventsget_DTEEventsset_DTEEventsWithEventsValueDocumentEvents_DocumentEventsget_DocumentEventsset_DocumentEventsWindowEvents_WindowEventsget_WindowEventsset_WindowEventsTaskListEvents_TaskListEventsget_TaskListEventsset_TaskListEventsFindEvents_FindEventsget_FindEventsset_FindEventsOutputWindowEvents_OutputWindowEventsget_OutputWindowEventsset_OutputWindowEventsSelectionEvents_SelectionEventsget_SelectionEventsset_SelectionEventsBuildEvents_BuildEventsget_BuildEventsset_BuildEventsSolutionEvents_SolutionEventsget_SolutionEventsset_SolutionEventsProjectItemsEvents_SolutionItemsEventsget_SolutionItemsEventsset_SolutionItemsEvents_MiscFilesEventsget_MiscFilesEventsset_MiscFilesEventsDebuggerEvents_DebuggerEventsget_DebuggerEventsset_DebuggerEventsProjectsEvents_ProjectsEventsget_ProjectsEventsset_ProjectsEventsTextDocumentKeyPressEvents_TextDocumentKeyPressEventsget_TextDocumentKeyPressEventsset_TextDocumentKeyPressEventsCodeModelEvents_CodeModelEventsget_CodeModelEventsset_CodeModelEventsDebuggerProcessEvents_DebuggerProcessEventsget_DebuggerProcessEventsset_DebuggerProcessEventsDebuggerExpressionEvaluationEvents_DebuggerExpressionEvaluationEventsget_DebuggerExpressionEvaluationEventsset_DebuggerExpressionEvaluationEventsSolutionItemsEventsMiscFilesEventsMakeAddinFromMacroProjProjectCopyReferencesobjProjectDestobjProjectSrcCodeFunctionIsMacroCallableFunctioncodeFuncSaveViewLoadViewTurnOnLineNumbersTurnOffLineNumbersTurnOnWordWrapTurnOffWordWrapListProjProjectItemsListProjAuxprojectItemsleveloutputWinPaneProjectItemOutputItemprojectItemAddClassicComRefFindCaseFindLastTargetFindLineListModifiedDocumentsInsertDocCommentsListMacroSamplesLineOrientedCommentStartdocumentOutputWindowPaneGetOutputWindowPaneNameshowPrepareDefaultFindpromptStepOverAllDumpStacksAddBreakpointToMainRunToNextBreakpointListBreakpointsLastHitBreakpointLastHitListAllBreakpointsDebuggerModeShowCurrentProcessLastBreakReasonAttachToCalcListDebuggedProcessesSupportedLanguagesDetachAllRunToLinelineDumpExpressionexpStrIsDebuggingpassedStringCommentRegionNewCommentLior.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive Samples.DevStudio6Editor.CommentOut Samples.DevStudio6Editor.ifdefOut Samples.DevStudio6Editor.ifndefOut Samples.DevStudio6Editor.MultiplePastes Samples.DevStudio6Editor.OneTimeInclude Samples.DevStudio6Editor.PrintAllOpenDocuments Samples.DevStudio6Editor.ToggleCommentStyle Samples.Utilities.AddClassicComRef Samples.Utilities.FindCase Samples.Utilities.FindLastTarget Samples.Utilities.FindLine Samples.Utilities.InsertDocComments Samples.Utilities.ListMacroSamples Samples.Utilities.ListModifiedDocuments Samples.Utilities.ListProj Samples.Utilities.LoadView Samples.Utilities.SaveView Samples.Utilities.TurnOffLineNumbers Samples.Utilities.TurnOffWordWrap Samples.Utilities.TurnOnLineNumbers Samples.Utilities.TurnOnWordWrap Samples.VSEditor.BeginningOfFunction Samples.VSEditor.CenterScreen Samples.VSEditor.CommentRegion Samples.VSEditor.CountOccurrences Samples.VSEditor.DoForWholeFile Samples.VSEditor.EmacsStyleIndentLine Samples.VSEditor.FillCommentParagraph Samples.VSEditor.FixLineEnds Samples.VSEditor.InsertDate Samples.VSEditor.InsertTime Samples.VSEditor.InsertTimeDate Samples.VSEditor.LineEmUp Samples.VSEditor.LineToTop Samples.VSEditor.ListMatchingLines Samples.VSEditor.ListNonMatchingLines Samples.VSEditor.NewCommentLine Samples.VSEditor.OneFunctionView Samples.VSEditor.OutlineCode Samples.VSEditor.PrintItemsInSelectedProject Samples.VSEditor.PrintNumberedLines Samples.VSEditor.SaveBackup Samples.VSEditor.SetFillColumn Samples.VSEditor.TopOfBlock Samples.MakeAddin.MakeAddinFromMacroProj Samples.VSDebugger.AddBreakpointToMain Samples.VSDebugger.AttachToCalc Samples.VSDebugger.BreakpointLastHit Samples.VSDebugger.DebuggerMode Samples.VSDebugger.DetachAll Samples.VSDebugger.DumpExpression Samples.VSDebugger.DumpStacks Samples.VSDebugger.LastBreakReason Samples.VSDebugger.ListAllBreakpoints Samples.VSDebugger.ListBreakpointsLastHit Samples.VSDebugger.ListDebuggedProcesses Samples.VSDebugger.RunToLine Samples.VSDebugger.RunToNextBreakpoint Samples.VSDebugger.ShowCurrentProcess Samples.VSDebugger.StepOverAll Samples.VSDebugger.SupportedLanguages Samples.AddDirAsSlnFolder.GenerateSlnFolderOnDirStructure Samples.Accessibility.DecreaseTextEditorFontSize Samples.Accessibility.IncreaseTextEditorFontSize Samples.Accessibility.MaximizeToolWindowsInEnvironment Samples.Accessibility.ToggleTextEditorGrayScale Samples.Accessibility.UpdateTextEditorFontSizeToMatchDisplayProperties Samples.DevStudio6Editor.AddFunctionDescription Samples.DevStudio6Editor.AddRevisionMarks Samples.DevStudio6Editor.AutoCompleteFromFile Samples.DevStudio6Editor.CloseExceptActive neSaveBackupOneFunctionViewBeginningOfFunctionLineToTopEmacsStyleIndentLineTopOfBlockEditPointIndentLeveleditPointSkipSpaceRightOutlineCodeCodeElementCodeElementsCollapseEltelteltslocCenterScreenPrintNumberedLinesDoForWholeFileLineEmUpFixLineEndsSetFillColumnfillColumnFillCommentParagraphIsOnNonEmptyCommentLinelinePrefixGetCommentLinePrefixMoveWordRightMoveWordLeftIsWhitespaceListMatchingLinesListNonMatchingLinesCountOccurrencesInsertTimeInsertDateInsertTimeDateIsPrintableFileprojItemPrintItemsInSelectedProjectprojItemsSystem.ComponentModelEditorBrowsableAttributeEditorBrowsableStateSystem.CodeDom.CompilerGeneratedCodeAttributeSystem.DiagnosticsDebuggerNonUserCodeAttributeDebuggerHiddenAttributeStandardModuleAttributeHideModuleNameAttributeSystem.ComponentModel.DesignHelpKeywordAttributeSystem.Runtime.CompilerServicesRuntimeHelpersGetObjectValueRuntimeTypeHandleGetTypeFromHandleActivatorCreateInstanceMyGroupCollectionAttributeget_Valueset_ValueSystem.Runtime.InteropServicesComVisibleAttributeSystem.ThreadingThreadget_CurrentThreadAbortMarshalIsComObjectReleaseComObjectExceptionProjectDataSetProjectErrorClearProjectErrorContextStaticAttributeIntPtrset_VBHostZeroGetEventSourceInstanceGetGlobalInstanceConvertToUInt32System.DrawingFontPropertyPropertiesSystemInformationget_MenuFontGetHeightMathRoundget_PropertiesItemInt32OperatorsAddObjectConditionalCompareObjectGreaterEqualSubtractObjectMicrosoft.Win32RegistryKeyFontsAndColorsItemsColorableItemsSystem.CollectionsIEnumeratorRegistryCurrentUserget_RegistryRootOpenSubKeyCreateSubKeySetValueGetValueConversionsToBooleanget_ObjectGetEnumeratorget_Currentget_NameStringConcatUInt32Parseset_Backgroundset_ForegroundMoveNextIDisposableDisposeget_Backgroundget_ForegroundWindowWindowsget_Windowsget_Documentget_AutoHidesset_AutoHidesset_LinkableSystem.IOPathGetExtensionToLowerGetFileNameContainsDirectoryGetDirectoriesGetFilesget_Parentget_ProjectItemsAddFromFilevsSaveChangesCloseOutputStringAddSolutionFolderSolution2IsNullOrEmptyInteractionInputBoxExistsMsgBoxResultMsgBoxStyleMsgBoxClearAddSolutionget_SolutionDocumentsget_DocumentsPrintOutToIntegerget_ActiveDocumentget_SelectionNewLateBindingLateCallLateSetComplexget_ActiveWindowvsWindowTypeget_TypeLateGetConcatenateObjectObjectFlowControlForLoopControlForLoopInitObjBooleanForNextCheckObjStringsCompareMethodInStrLenMidLCaseCompareStringget_LanguageTextSelectionget_TextCompareObjectGreaterCompareObjectLessAndObjectTrimLeftRightDeleteset_Textget_Countget_FullNameLTrimSelectLineConditionalCompareObjectEqualConditionalCompareObjectGreaterConditionalCompareObjectLessDateAndTimeDateTimeget_NowCompareObjectEqualCompareObjectNotEqualUCaseStartOfDocumentget_TopLineget_CurrentColumnWordRightWordLeftCancelFindTextget_CurrentLineCharRightMoveToLineAndOffsetAccessedThroughPropertyAttributeTextDocumentFileCodeModelget_ActiveSolutionProjectsLateIndexGetget_FileCodeModelget_CodeElementsCodeTypeget_Membersget_MacrosIDE_SolutionProjectsget_ProjectsOpenTextPointget_StartPointCreateEditPointget_EndPointGetTextItemOperationsget_ItemOperationsAddNewItemSelectAllInsertvsCMPartGetStartPointMoveToPointEndOfLinevsCMElementget_KindGetEndPointSmartFormatCollapseVSLangProjReferencesReferenceIEnumerableget_PathCodeParametervsCMAccessget_Accessget_ParametersStartsWithCodeTypeRefvsCMTypeRefget_TypeKindWindowConfigurationsget_WindowConfigurationsWindowConfigurationApplyget_Collectionget_FileNamesFileDialogVSProjectOpenFileDialogEnvironmentget_SystemDirectoryset_InitialDirectoryset_Filterset_FilterIndexset_TitleCommonDialogDialogResultShowDialogget_FileNameget_CurrentDirectoryLocalMachineFileSystemChDirAppWinStyleShellset_FileNameget_CheckFileExistsget_Referencesget_MessageExecuteCommandFindget_Findset_MatchCaseget_FindWhatset_FindWhatCharLeftget_Savedget_ProjectItemCodeNamespaceget_Lengthget_CharsUndoContextget_UndoContextLineUpUIHierarchyItemUIHierarchyGetItemUIHierarchyItemsget_UIHierarchyItemsset_ExpandedEndsWithOutputWindowset_VisibleOutputWindowPanesget_OutputWindowPanesActivateset_MatchWholeWordvsFindActionset_ActionvsFindTargetset_Targetset_Backwardsset_MatchInHiddenTextvsFindPatternSyntaxset_PatternSyntaxget_MainWindowget_HWndDebuggerget_DebuggerStepOverdbgDebugModeget_CurrentModeCommandWindowStackFrameExpressionProgramget_CurrentProgramThreadsget_Threadsget_IDConversionStrStackFramesget_StackFramesget_ModuleInStrRevget_FunctionNameExpressionsget_ArgumentsBreakpointBreakpointsget_BreakpointsdbgBreakpointConditionTypedbgHitCountTypeset_TagGoget_BreakpointLastHitget_Tagset_Enabledget_AllBreakpointsLastHitProcessget_CurrentProcessget_ProcessIDdbgEventReasonget_LastBreakReasonProcessesget_LocalProcessesAttachget_DebuggedProcessesLanguageLanguagesget_LanguagesCreateProjectErrorValGotoLineRunToCursorGetExpressionget_IsValidValueget_DataMembersVirtualPointget_TopPointget_BottomPointget_LineLineDownStartOfLineNewLineNewFileChangeTypevsSaveStatusSaveget_ActivePointget_CodeElementOutlineSectionEndOfDocumentSystem.ReflectionMissingValuevsPaneShowHowTryToShowToLongBeepget_LineCharOffsetget_LineLengthget_DisplayColumnget_IsCodeTypeLessThanCopyPasteget_BottomLinevsStartOfLineOptionsTextPaneget_AnchorPointInt64vsWhitespaceOptionsDeleteWhitespacePadToColumnNotObjectGlobalsget_Globalsset_VariableValueget_VariableExistsget_VariableValueIndexOfCharTrimStartToCharIsPunctuationIsWhiteSpacevsFindResultFind2set_WaitForFindToCompleteExecuteStatusBarget_StatusBarEqualToToLongTimeStringToLongDateStringAddRangeConditionalCompareObjectNotEqualget_IsOpenDebuggableAttributeDebuggingModesCompilationRelaxationsAttributeRuntimeCompatibilityAttributeVsaModuleVBAssembly#EnvironmentEventsDTEEventsDocumentEventsWindowEventsTaskListEventsFindEvents%OutputWindowEventsSelectionEvents'SolutionItemsEventsMiscFilesEventsDebuggerEventsDTEFontsAndColorsTextEditorFontSizeAccessibility+TextEditorInGrayScale'FontsAndColorsItems_BG_FGOAdd directory as solution folder reportThe item "U"may have not been added to the solution. ?Enter the folder path to importOThe specified folder could not be foundIThe path entered could not be found .obj .ilk .pch .pdb .exe .dll .sbr .lib .exp .bsc .tlb .ncb .sln .suo.vcproj.vbproj.csproj.vjsproj .msiEEnter the number of times to paste paste LineUpLineDown text This macro can only be run when a text editor window is active./**/ <!--  --> '  ; TopLineBottomLineGotoLineSelectLine+Unable to comment out the highlighted text because the file type was unrecognized. If the file has not yet been saved, please save it and try again...rc .rc2 C/C++ JavaODL/IDLHTML - IE 3.0 .xml'HTML 2.0 (RFC 1866)VBS Macro .def//]This macro does not work on this type of file. ... TextStartOfDocument KCould not find a closing comment mark <!----> 'Rem;iUnable to add revision marks. Unrecognized file typeStartOfLineI*********************************** ) REVISION LOG ENTRY  Revision By:  Revised on  Comments: ... G*********************************** CSharp(), (- // Function name : W// Description : // Return type : +// Argument : It is possible that the function you are trying to work with has a syntax error.You need to have an active C/C++ document open with the function prototype selected.azAZ09_#ifndef #ifdef This macro only works on .c, .cpp, .cxx, .h, .hpp, or .hxx filesWhat should the control variable be? Example: #ifdef ControlVariable- out a section of code"" is not a valid C identifier. please re-run the macro with a valid C identifier  #endif //The file you are working with does not have a file extension. Are you sure this is a C/C++ header file?#nofilenamegiven.h.h .hpp__mWhat should the control variable be? Example: #ifdef EOne time header include protection #define EndOfDocument is not a valid c identifier. please re-run the macro with a valid C identifier]This macro can only be run on .h or .hpp files[^a-zA-Z0-9]Connect.vbConnect ExecQueryStatusOnConnectionMCould not find the proper items in the project. To use this macro run the Add-in wizard, select VB as the programming language and select to create a Tools Menu item.+CreateAddinFromMacrosWarning: Running this macro will replace the Exec, QueryStatus, and OnConnection of your Add-in. Do you wish to continue?1Create Addin From Macros}Enter the name of the Macro Project to create an Add-in out ofUCould not find the specified macro project=Make Add-in From Macro ProjectPublic Sub Exec(ByVal commandName As String, ByVal executeOption As vsCommandExecOption, ByRef varIn As Object, ByRef varOut As Object, ByRef handled As Boolean) Implements IDTCommandTarget.Exec ' handled = False If (executeOption = vsCommandExecOption.vsCommandExecOptionDoDefault) Then Public Sub QueryStatus(ByVal commandName As String, ByVal neededText As vsCommandStatusTextWanted, ByRef status As vsCommandStatus, ByRef commandText As Object) Implements IDTCommandTarget.QueryStatus istatus = vsCommandStatus.vsCommandStatusUnsupported If neededText = EnvDTE.vsCommandStatusTextWanted.vsCommandStatusTextWantedNone Then }Public Sub OnConnection(ByVal application As Object, ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, ByRef custom As System.Array) Implements IDTExtensibility2.OnConnection o_applicationObject = CType(Application, EnvDTE80.DTE2) a_addInInstance = CType(addInInst, EnvDTE.AddIn) kIf connectMode = ext_ConnectMode.ext_cm_UISetup Then aDim objAddIn As AddIn = CType(addInInst, AddIn) 5Dim CommandObj As Command CDim objCommandBar As CommandBar 'If your command no longer appears on the appropriate command bar, or if you would like to re-create the command, ' close all instances of Visual Studio .NET, open a command prompt (MS-DOS window), and run the command 'devenv /setup'. objCommandBar = CType(_applicationObject.Commands.AddCommandBar("", vsCommandBarType.vsCommandBarTypeMenu, _applicationObject.CommandBars.Item("Tools")), Microsoft.VisualStudio.CommandBars.CommandBar) M{7651A701-06E5-11D1-8EBD-00A0C90F26EA}TextDocument3Visual Basic Items\Module.vb%Option Strict Off I public shared DTE as EnvDTE80.DTE2C public Dim DTE as EnvDTE80.DTE2.Connect.%If commandName = "" Then handled = True 5.DTE = _applicationObject () !Exit Sub End If "Then status = CType(vsCommandStatus.vsCommandStatusEnabled + vsCommandStatus.vsCommandStatusSupported, vsCommandStatus) End If CommandObj = _applicationObject.Commands.AddNamedCommand(objAddIn, " ", "", "TODO: Enter your command description", True, 59, Nothing, 1 + 2) '1+2 == vsCommandStatusSupported+vsCommandStatusEnabled KCommandObj.AddControl(objCommandBar) End If End Sub  End If End Sub Else 'If you are not using events, you may wish to remove some of these to increase performance. EnvironmentEvents.DTEEvents = CType(_applicationObject.Events.DTEEvents, EnvDTE.DTEEvents) EnvironmentEvents.DocumentEvents = CType(_applicationObject.Events.DocumentEvents(Nothing), EnvDTE.DocumentEvents) EnvironmentEvents.WindowEvents = CType(_applicationObject.Events.WindowEvents(Nothing), EnvDTE.WindowEvents) EnvironmentEvents.TaskListEvents = CType(_applicationObject.Events.TaskListEvents(""), EnvDTE.TaskListEvents) EnvironmentEvents.FindEvents = CType(_applicationObject.Events.FindEvents, EnvDTE.FindEvents) EnvironmentEvents.OutputWindowEvents = CType(_applicationObject.Events.OutputWindowEvents(""), EnvDTE.OutputWindowEvents) EnvironmentEvents.SelectionEvents = CType(_applicationObject.Events.SelectionEvents, EnvDTE.SelectionEvents) EnvironmentEvents.SolutionItemsEvents = CType(_applicationObject.Events.SolutionItemsEvents, EnvDTE.ProjectItemsEvents) EnvironmentEvents.MiscFilesEvents = CType(_applicationObject.Events.MiscFilesEvents, EnvDTE.ProjectItemsEvents) EnvironmentEvents.DebuggerEvents = CType(_applicationObject.Events.DebuggerEvents, EnvDTE.DebuggerEvents) End If End SubReferencesAdd1System.Windows.Forms.dll9Add-in generation complete To make sure your Add-in compiles, you need to perform two actions: 1) If you had any modules with an 'Option Explicit', a duplicate will appear in the generated module. You need to remove the duplicate. e2) Any calls to automation methods/properties not prepended with 'DTE.' will need to have these manually added (for example, change 'ActiveDocument()' to 'DTE.ActiveDocument()'). EnvDTEEnvDTE80EMicrosoft.VisualStudio.CommandBars;Could not add a reference to C Try adding a reference manually.Optional GEnter the name you want to save as:%Save window layoutCEmpty string, enter a valid name.WWhich window layout would you like to load?%Load Window LayoutQEmpty string, enter a window layout name BasicShowLineNumbersPlainText HTMLVisual JSharpXMLWordWrapM{28836128-FC2C-11D2-A433-00C04F72D18A}List Project ClearOutputString \Type Libraries (*.tlb)|*.tlb|DLLs (*.dll)|*.dll|All files (*.*)|*.*+Open COM type librarydevenv.exe#PublicAssemblies\Asoftware\microsoft\.NetFramework%SDKInstallRootv2.0bin_Unable to get tlbimp.exe location from registry'cmd /c tlbimp.exe "" /out:"Please enter the project to add the reference to (entering nothing or canceling will default to the first project in the solution)AddComReferenceUWas unable to grab Macros solution projectCWas unable to create COM+ wrapper?Was unable to add the referenceEdit.Find%Modified Documents clear members itemDidn't find a type definition as first thing in file or find a namespace as the first thing with a type inside the namespace.'Insert Doc Comments<summary>Summary of </summary><param name=></param>M{07CD18B4-3BA1-11D2-890A-0060083196C6}Macros\SamplesList Macros.cs .cpp .idl .jsl-Unrecognized file type. You can add this file type by modifying the function Utilities.LineOrientedCommentStart to include the extension of this file.M{34E76E81-EE4A-11D0-AE2E-00A0C90FFFC3}SNo program is currently being debugged. #Current Program:  Thread ( ) , = : ) mainSetByMacro+Hit tagged breakpoint/Hit untagged breakpointProgram endedDebugger/No breakpoints were hit/No breakpoint was hit 1No breakpoints are set Break Mode Design Mode Run Mode 9No process is being debugged!Breakpoint hit No reason OException not handled by the debuggee %Exception thrown calc.exe/calc.exe is not runningENo processes are being debugged. Process: [] YDebugger supports the following languages: ICould