惊艳的Visual Studio宏

67

针对小型社区讨论,你使用哪些必要的Visual Studio宏?

我刚开始学习它们,并且想听听你们中有哪些宏是必不可少的。


36
我完全不同意关闭这个问题。这是非常有建设性和好的问题。 - David Morton
7
我同意。这是一个有用的主题,并包含了我正在寻找的答案。 - SturmUndDrang
1
在VS 2012中,宏编辑器已被移除。这是坏消息。好消息是,您可以通过创建插件,在所选语言中使用基本相同的代码。创建一个Visual Studio插件项目,其中包含您需要的样板代码。测试时,VS 2012将启动一个带有您的插件安装的单独实例。当您准备好实际部署时,请转到“My Documents\Visual Studio 2012\Addins”。在那里,对于您的项目“whatever”,请放置您的插件的“whatever.dll”,以及来自主项目目录的“whatever.AddIn”文件。 - Ryan Lundy
2
我在这里发布了如何创建插件的说明:Visual Studio 2012中宏的替代方案 - Ryan Lundy
3
是的,stackoverflow.com社区需要修改做事方式。一些最受欢迎的问题被关闭了。 - TheLegendaryCopyCoder
这应该放在Dcoumentation中。 - MSalters
14个回答

1
我将ctrl-shift-G映射到一个宏,用于生成注册表格式的GUID - 这对于编辑IDL非常有用。

1

我目前正在处理两个不同的项目,它们有不同的编码标准,一个使用制表符作为行开头,另一个使用空格。这个宏将根据当前活动的环境切换使用哪种标准:

Public Sub ToggleTabs()
  If DTE.ActiveDocument.Language = "CSharp" Then
      Dim currentSetting As Boolean = DTE.Properties("TextEditor", "CSharp").Item("InsertTabs").Value
      DTE.Properties("TextEditor", "CSharp").Item("InsertTabs").Value = Not currentSetting
  End If

  If DTE.ActiveDocument.Language = "SQL" Then
      Dim currentSQLSetting As Boolean = DTE.Properties("TextEditor", "SQL").Item("InsertTabs").Value
      DTE.Properties("TextEditor", "SQL").Item("InsertTabs").Value = Not currentSQLSetting
  End If

  If DTE.ActiveDocument.Language = "HTML" Then
      Dim currentHTMLSetting As Boolean = DTE.Properties("TextEditor", "HTML").Item("InsertTabs").Value
      DTE.Properties("TextEditor", "HTML").Item("InsertTabs").Value = Not currentHTMLSetting
  End If

  If DTE.ActiveDocument.Language = "JScript" Then
      Dim currentJScriptSetting As Boolean = DTE.Properties("TextEditor", "JScript").Item("InsertTabs").Value
      DTE.Properties("TextEditor", "JScript").Item("InsertTabs").Value = Not currentJScriptSetting
  End If

End Sub

0

我过去在VS 2002/2003中常常使用宏。一个例子就是区域创建 - 我喜欢将我的类分成以下几个区域 - "私有成员","公共属性","公共方法"和"私有方法"。因此,我有一个映射到快捷键的宏,在任何新的类文件中创建这些区域。

在VS 2005/2008中的重构支持(以及添加常见代码片段的功能),以及使用DXCore和SlickEdit等插件,使我能够在工作中不再需要创建太多的宏了。


45
选定这个回答作为被接受的答案是一个奇怪的选择。 - Ryan Lundy
2
我见过更奇怪的。按日期排序答案,你就会看到其合理性。;-) - Cerebrus
1
他并没有花太多时间,是吧? - Ryan Lundy
2
对我个人来说并不是很有用,但为什么要踩呢? - kizzx2

0

我无法不提及这个问题。它甚至有一个视频来展示如何安装和使用它。这个宏简单地允许你在解决方案资源管理器中创建嵌套文件(例如resources.resx)。

编辑:更新链接


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接