我的组织必须遵守极其严格和严格的规则才能获得认证和认证.在过去十年左右的时间里,我们开发了近百个VS宏,它们可以格式化代码,生成注释块,强制执行样式规则等.
我们的宏不是你记录鼠标移动的那种; 它们都依赖于EnvDTE*VS自动化对象.随着VS 2012丢弃宏,我们不知道我们是否能够升级,而不会对团队造成严重影响.
我知道微软的方向是VS Addins路由,我愿意调查这条路线,但是我无法找到有关VS加载项如何与Visual Studio中的活动代码文件进行交互的代码示例或文档.
例如,这是一个我们一直使用的宏,它将Try包装器设计模式应用于所有能够抛出未处理异常的方法
''' <summary>
''' Wraps active method in Try* access wrappers.
''' </summary>
Sub InsertSingleMethodTryWrappers()
Dim textSelection As TextSelection
Dim codeElement As CodeElement
textSelection = DTE.ActiveWindow.Selection
DTE.UndoContext.Open("Generate Try Wrappers") 'Allow for single Undo operation to rollback all changes
Try
codeElement = textSelection.ActivePoint.CodeElement(vsCMElement.vsCMElementFunction)
If Not (codeElement Is Nothing) Then
Dim textSelection2 As TextSelection
Dim codeFunction As CodeFunction
'Dim codeFunction2 As CodeFunction2
Dim editPoint As EditPoint
Dim codeParameter As CodeParameter
Dim parameters As CodeElements
Dim …
Run Code Online (Sandbox Code Playgroud)