小编Nea*_*ley的帖子

如何协调Visual Studio 2012中的宏的缺乏

我的组织必须遵守极其严格和严格的规则才能获得认证和认证.在过去十年左右的时间里,我们开发了近百个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)

macros envdte visual-studio-macros visual-studio-2012

6
推荐指数
1
解决办法
1471
查看次数