c# - Visual Studio 2012 - 如何自动打开关闭花括号?

标签 c# visual-studio-2012 macros editor

在 Visual Studio 2012 中,我创建了一个宏来创建一个左大括号,创建一个新行,创建一个新行,创建右大括号并将光标向上移动一行,然后是一个 TAB。

该宏与 Ctrl + 0 关联,因此在 Ctrl + 0 之后我准备好写代码。

如何在没有我的宏的 Visual Studio 2012 中做同样的事情?

最佳答案

这是我添加到向导中创建的 prj:在 VS2012 中安装它并关联组合键:SHIFT+ALT+0

public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled)
    {
        handled = false;
        if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault)
        {
            if(commandName == "CurlyBraces.Connect.CurlyBraces")
            {
                if (_applicationObject.ActiveDocument != null)
                {
                    TextSelection objSel = (EnvDTE.TextSelection)(_applicationObject.ActiveDocument.Selection);

                    objSel.NewLine();
                    objSel.Insert("{"); objSel.Indent();
                    objSel.NewLine();
                    objSel.NewLine();
                    objSel.Insert("}"); objSel.Indent();
                    objSel.LineUp();
                    objSel.Indent();
                    objSel.SmartFormat();
                    objSel.LineUp();
                }

            }
        }
    }

关于c# - Visual Studio 2012 - 如何自动打开关闭花括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17250999/

相关文章:

c# - LINQ to Entities 不支持 LINQ 表达式节点类型 'Lambda'

vb.net - 如何解决 Windows 窗体设计器问题 - 控件继续调试?

c - C 编程中 hash(#) 的语法复杂化

c++ - 如何在 C/C++ 中包含宏的行的末尾添加语句?

c# - Log4Net 新事件日志不起作用

c# - 当我不知道 (T) 的类型时如何反序列化通用列表 <T>?

c# - 如何在 Windows Azure 中为 Blob 存储配置 CORS 设置

c# - 为什么 Visual Studio 2012 不能格式化这个有效的 Razor 代码

tfs - 无法访问 TFS Web Access - 类未注册错误

c++ - 在C++ 11中对变量名进行字符串化的替代方法