发布日期: 2007-02-26 | 更新日期: 2007-02-26

James Lau

Microsoft 项目经理

适用于:

Microsoft Visual Studio 2005

摘要:Visual Studio 2005 是目前业内一流的开发工具,我想在此与大家分享一些使用技巧和窍门,使这个优秀的开发工具更显威力。要充分利用一个工具,关键是要熟悉它,开发工具和 IDE 也不例外。不过,有了 C# 2.0、ASP .NET 2.0、Windows Workflow Foundation、Windows Presentation Foundation 和 Windows Communication Foundation 等等许多新技术,谁又会花费时间来了解 Visual Studio 本身呢?花费 10 分钟阅读本文将使您了解几项实用内容,这些内容可以使您在使用 Visual Studio 时更加惬意和高效。

*
本页内容

将双手保持在键盘上 将双手保持在键盘上
Window 布局选择器 Window 布局选择器
代码段 代码段
自定义 Visual Studio 起始页 自定义 Visual Studio 起始页
团队设置 团队设置
/resetuserdata 参数 /resetuserdata 参数
总结 总结

将双手保持在键盘上

我最喜欢使用的键盘快捷方式

您可曾有过这样的期望:在 Visual Studio 内部进行开发工作时双手不必离开键盘?如果您是一名高级用户,您肯定会享受到使用键盘快捷方式执行各种操作所带给您的飞速体验。我确信大部分开发人员都已经熟悉了其中的某些快捷方式。使用 F5 执行 Debug.Start、F10 执行 Debug.StepOver、F4 执行 View.Properties,等等。不过仍有其他几个不太为人所知但极其实用的键盘快捷方式。在下表中,我列出了自己最喜欢使用的一些快捷方式。

键盘快捷方式 命令
F7 在设计视图和代码视图之间切换。
F9 切换断点。
F12 转到变量、对象或函数定义。
Ctrl+Shift+7 Ctrl+Shift+8 在“转到定义”堆栈中快速向前和向后导航。
Shift+F12 查找某个函数或变量的所有引用。
Ctrl+M、Ctrl+M 在编辑器中展开和折叠代码段结构。
Ctrl+K、Ctrl+C Ctrl+K、Ctrl+U 分别用于为代码行添加注释和取消注释。
Shift+Alt+Enter 在全屏模式和正常模式之间切换。
Ctrl+I 渐进式搜索。

创建键盘快捷方式速查表。

大部分开发人员都不了解这一点,但实际上,Visual Studio 默认提供了 450 多个键盘快捷方式。不过,对于如何找到 Visual Studio 内部的所有键盘快捷方式还没有简便的方法。您可以编写一个简单的宏,对于所有默认键盘快捷方式进行遍历,找到它们所对应的操作。以下内容(列表 1)列出了这个宏的代码。

Public Module Module1
Public Sub ListShortcutsInHTML()
'Declare a StreamWriter
Public Sub WriteHTMLStart(ByVal sw As System.IO.StreamWriter)
sw.WriteLine("<html>")
sw.WriteLine("<head>")
sw.WriteLine("<title>")
sw.WriteLine("Visual Studio Keyboard Shortcuts")
sw.WriteLine("</title>")
sw.WriteLine("</head>")
sw.WriteLine("<body>")
sw.WriteLine("<h1>Visual Studio 2005 Keyboard Shortcuts</h1>")
sw.WriteLine("<font size=""2"" face=""Verdana"">")
sw.WriteLine("<table border=""1"">")
sw.WriteLine("<tr BGCOLOR=""#018FFF""><td align=""center""><b>Command</b></td><tdalign=""center""><b>Shortcut</b></td></tr>")
End Sub
Public Sub WriteHTMLEnd(ByVal sw As System.IO.StreamWriter)
sw.WriteLine("</table>")
sw.WriteLine("</font>")
sw.WriteLine("</body>")
sw.WriteLine("</html>")
End Sub
End Module

列表 1. 在 HTML 文件中生成键盘快捷方式的宏

要使用这个宏,请转到“工具”,选择“宏”,然后选择“宏 IDE. . .”启动“宏 IDE”。展开 MyMacros 工程,MyMacros 命名空间,然后双击“Module1”。将列表 1 中的内容复制到“宏 IDE”然后运行宏即可。运行宏之后,将会生成 Visual Studio 的键盘快捷方式参考信息。打开包含输出内容的 C:\demo\Shortcuts.html 文件。“图 1”显示了部分输出内容。如果方便就将它打印出来,贴在计算机附近,以便学习新的键盘快捷方式。

.

图 1. Visual Studio 2005 键盘快捷方式列表(部分)

自定义键盘快捷方式

如果某个您喜欢使用的键盘快捷方式默认没有设置,您总是可以通过单击“工具”>“选项...”>“环境”>“键盘”来自定义这个快捷方式(参见图 2)。不过,如果要在您的使用环境中添加多个键盘快捷方式,则可以通过编辑自动保存的设置文件直接添加这些快捷方式。可以通过以下步骤来实现:

.

图 2. “选项”对话框 - 自定义“键盘快捷方式”

步骤 1:导出当前的“键盘快捷方式”。转到“工具”>“导入和导出设置. . .”,启动“导入/导出设置向导”。选择“导出选定的环境设置”,单击“下一步”。单击“所有设置”,取消选中所有复选框,然后展开“选项”、“环境”节点,选择“键盘”复选框(图 3)。单击“下一步”转到向导的最后一页。将新的设置文件命名为“MyKeyboardShorcuts.vssettings”,路径使用默认目录(图 4)。单击“完成”。

.

图 3. 只选择导出“键盘”设置类别

.

图 4. 将设置文件重命名为 MyKeyboardShortcuts.vssettings

步骤 2:打开并编辑设置文件。该文件的路径为 My Documents\Visual Studio 2005\Settings\MyKeyboardShortcuts.vssettings。Visual Studio 的设置文件就是 XML 格式的文件,您可以使用任何编辑器打开该文件。我推荐使用 Visual Studio 来打开该文件,因为这样可以使用 Visual Studio 中的为语法标注颜色的功能以及文档格式设置功能。打开文件之后,按下 Ctrl+K、Ctrl+D,让 Visual Studio 对其自动进行格式设置。然后,查找 <UserShortcuts> 标签。在此 XML 元素内部,您可以添加自己的一列快捷方式。下面的“列表 2”显示了一个示例。

...
<UserShortcuts>
<Shortcut Command="View.CommandWindow" Scope="Global">
Ctrl+W, Ctrl+C
</Shortcut>
<Shortcut Command="View.SolutionExplorer" Scope="Global">
Ctrl+W, Ctrl+S
</Shortcut>
<Shortcut Command="View.ErrorList" Scope="Global">
Ctrl+W, Ctrl+E
</Shortcut>
<Shortcut Command="View.TaskList" Scope="Global">
Ctrl+W, Ctrl+T
</Shortcut>
<Shortcut Command="View.Output" Scope="Global">
Ctrl+W, Ctrl+O
</Shortcut>
</UserShortcuts>
...

列表 2. 直接在设置文件中添加“键盘快捷方式”

此处的 XML 是非常容易理解的。只要为要添加的每个快捷方式设置一个 <Shortcut> 元素即可。将快捷方式本身指定为该元素的内容,要将 Shift、Ctrl 和 Alt 等修改键结合起来使用,可以使用“+”字符将它们串连起来(例如,Ctrl+Alt+J)。在“Command”属性中为快捷方式所要绑定的命令指定规范的命令名称。“Scope”属性总是为“Global”,因此这里不再赘述。此操作过程中最困难的部分可能就是确定特定命令的规范名称。特定命令的规范名称的格式为:顶级菜单名称加“.”字符再加命令名称,采用“驼峰式”大小写格式,不包含任何空格。

添加了所有快捷方式之后,保存该文件。

步骤 3:导入设置文件。既然已在设置文件中添加了快捷方式,现在就可以将文件导回到您的使用环境中。当然,也可以将您的设置文件分享给其他人员使用。再次启动“导入和导出设置向导”,但这次选择“导入选定的环境设置”;单击“下一步”。选择“否,仅导入新设置,改写我的当前设置”,然后单击“下一步”。选择“我的设置”文件夹下的“MyKeyboardShortcuts.vssettings”,然后单击“下一步”。使用默认选择,单击“完成”。

在工具提示中显示快捷方式

您可以实际指定环境在提示信息中显示快捷方式,将鼠标移到工具栏命令的上方时可显示相应的提示信息。转到“工具”>“自定义. . .”,确保选中“在屏幕提示中显示快捷键”选项。

.

图 5. 在工具提示中启动快捷键显示

 

Window 布局选择器

Visual Studio 是一个功能强大的开发环境,它使用许多不同的工具窗口用于不同的任务和目的。对于 VS 2005 中新提供的 Team System 功能而言尤其如此。我们曾经听到许多用户反映,如果有一种可以在不同的窗口布局之间快速切换以适合当前要处理的任务的方式,会非常有用。实际上您可以在 VS 2005 内部自己创建这项功能,不过,这需要执行几个步骤。

步骤 1. 创建设置文件。Visual Studio 2005 中有一项可以导入/导出环境设置的新功能。实际上,可以将可对环境进行的所有自定义设置导出到一个文件中,这样就可以将这些自定义设置与其他用户分享使用、将其导入到其他计算机,或者作为备份来存储。可以导入/导出的设置包括:窗口布局、键盘快捷方式、菜单自定义设置、字体与颜色以及“选项”对话框(“工具”>“选项. . .”)中实际存在的所有内容。可以根据需要,随时导出所有环境设置,也可以只导出其中的一部分。

在创建我们的“窗口选择器”时,第一个步骤是为每个想要使用的窗口布局创建单独的设置文件。在此示例中,我要创建 3 个设置文件,分别对应 3 个我想要使用的窗口布局:CodeWriting、CodeBrowsing 和 FormsDesign。

第一步就是按照您编写代码时喜欢的方式来布置窗口布局。就我而言,我喜欢将所有可见的工具窗口设置为自动隐藏状态以最大化编码区域。图 6 显示了我是如何为这个窗口布局来布置工具窗口的,不过您可以随意将其调整为您喜欢的方式。然后,转到“工具”>“导入和导出设置”,启动“导入和导出设置向导”。选择“导出选定的环境设置”,单击“下一步”。只选择窗口布局复选框,然后单击“下一步”。将设置命名为“CodeWritingWinLayout.vssettings”,然后单击“完成”。现在,您已经创建了您所需的三个设置文件中的第一个文件。重复以上这些步骤,创建余下的两个设置文件。显然,您需要更改窗口布局并将文件命名为其他名称。我已将我的设置文件命名为“CodeBrowsingWinLayout.vssettings”和“FormsDesignWinLayout.vssettings”。

.

图 6. 用于编码的窗口布局

步骤 2. 创建宏来导入设置文件。在创建设置文件之后,您需要创建 3 个宏 - 分别用于导入每个设置文件。从下面的“列表 3”可以看出,这个代码并不复杂。

Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
Imports System.IO
Public Module Module1
Public Sub ImportWinLayoutCodeWriting()
DTE.ExecuteCommand("Tools.ImportandExportSettings",
"-import:c:\demo\settings\CodeWritingWinLayout.vssettings")
End Sub
Public Sub ImportWinLayoutCodeBrowsing()
DTE.ExecuteCommand("Tools.ImportandExportSettings",
"-import:c:\demo\settings\CodeBrowsingWinLayout.vssettings")
End Sub
Public Sub ImportWinLayoutFormsDesign()
DTE.ExecuteCommand("Tools.ImportandExportSettings",
"-import:c:\demo\settings\FormsDesignWinLayout.vssettings")
End Sub
End Module

列表 3. 用于导入设置文件的宏代码

步骤 3. 在工具栏中添加按钮。 现在可以创建更改窗口布局的实际按钮。单击“工具”>“自定义. . .”,单击“命令”选项卡。从“类别”列表框中选择“宏”,然后在“命令”列表中向下滚动,找到刚才编写的三个宏。这些宏的名称应该为 MyMacros.Module1.ImportWinLayoutCodeWriting、MyMacros.Module1.ImportWinLayoutCodeBrowsing 和 MyMacros.Module1.ImportWinLayoutFormsDesign(参见图 7)。单击每个命令,将其拖动到 Visual Studio 工具栏上。您现在需要在工具栏中右键单击新放置的命令,将这些命令的名称更改为更短的名称。

.

图 7. 使用“自定义”对话框将宏放置到工具栏上。

关闭“自定义”对话框,保存您的自定义设置。您已经创建了您自己的“窗口布局”选择器。单击工具栏上的这些新按钮,尝试使用这些按钮。您甚至可以转到“工具”>“选项. . .”>“环境”>“键盘”页面为这些命令指定键盘快捷方式。

 

代码段

代码段是在 Visual Studio 2005 中引入的最能体现效率的特点之一。它可以避免单调乏味的输入过程(例如键入 for 循环),使您能够快速插入代码段,它还可以提供可完成特定任务(如通过网络发送数据)的模板。大部分内置的 C# 代码段都属于第一种类型 - 这些代码段可以帮助您将重复输入降到最低,而很大一部分内置的 VB 代码段都属于第二种类型 - 使用这些代码段可以更容易地编写执行特定任务的代码。

有两种插入代码段的方式。您可以在代码编辑器中键入代码段的别名,然后按两次 Tab 键(对于 VB 只需按一次 Tab 键)即刻插入代码段。在插入代码段之后,您可以通过按 Tab 键和 Shift+Tab 键跳到代码段的不同�%