了解如何将代码编辑器用于 C#
在这个 10 分钟的 Visual Studio 代码编辑器简介中,我们会向文件添加代码,了解 Visual Studio 编写、导航和了解 C# 代码的简便方法。
如果尚未安装 Visual Studio,请转到 Visual Studio 下载页免费安装。
本文假定你已熟悉 C#。 如果不熟悉,建议先看看 Visual Studio 中的 C# 和 ASP.NET Core 入门教程。
提示
若要继续执行本文中的操作,请确保为 Visual Studio 选择了 C# 设置。 有关为集成开发环境 (IDE) 选择设置的信息,请参阅选择环境设置。
创建新代码文件
先创建一个新文件并向其添加一些代码。
打开 Visual Studio。 按 Esc 或单击“开始”窗口中的“继续但无需代码”以打开开发环境。
在菜单栏上的“文件”菜单中,选择“新建”>“文件”,或按 Ctrl+N 。
在“新建文件”对话框的“常规”类别中,选择“Visual C# 类”,然后选择“打开” 。
编辑器中将打开主干为 C# 类的新文件。 (请注意,我们无需创建完整的 Visual Studio 项目来获取代码编辑器提供的某些益处,仅需一个代码文件即可!)
打开 Visual Studio。 按 Esc 或选择“开始”窗口中的“继续但无需代码”以打开开发环境。
在菜单栏上的“文件”菜单中,选择“新建”>“文件”,或按 Ctrl+N 。
在“新建文件”对话框的“常规”类别中,选择“Visual C# 类”,然后选择“打开” 。
编辑器中将打开主干为 C# 类的新文件。 无需创建完整的 Visual Studio 项目来获取代码编辑器提供的某些益处,仅需一个代码文件即可。
使用代码片段
Visual Studio 提供了实用的代码片段,可用于快速方便地生成常用代码块。 代码片段可用于不同编程语言,包括 C#、Visual Basic 和 C++。
我们将 C# void Main
代码片段添加到文件。
将光标放在文件中最后一个右大括号 } 的上方,然后键入字符
svm
(它代表static void Main
,如果不知道这是什么意思,无需太过担心)。随即将出现一个弹出对话框,其中包含有关
svm
代码片段的信息。按 Tab 两次,插入代码片段。
你会看到
static void Main()
方法签名被添加到文件。 Main() 方法是 C# 应用程序的入口点。
对于不同编程语言,可用的代码片段不同。 依次选择“编辑”>“IntelliSense”>“插入代码片段”,或按 Ctrl+K、Ctrl+X,然后选择语言的文件夹,即可查看该语言的可用代码片段 。 对于 C#,该列表如下所示:
将光标停在文件中最后的结束括号
}
的上方,并键入字符svm
。svm
表示static void Main
,如果还不了解此含义,请不要担心。随即将出现一个弹出对话框,其中包含有关
svm
代码片段的信息。按 Tab 两次,插入代码片段。
你会看到
static void Main()
方法签名被添加到文件。 Main() 方法是 C# 应用程序的入口点。
对于不同编程语言,可用的代码片段不同。 依次选择“编辑”>“IntelliSense”>“插入代码片段”,或按 Ctrl+K、Ctrl+X,然后选择编程语言的文件夹,即可查看该语言的可用代码片段 。 对于 C#,代码片段列表如下所示:
该列表包含用于创建类、构造函数、for 循环、if 或 switch 语句等的代码片段。
为代码添加注释
工具栏是 Visual Studio 菜单栏下的一行按钮,有助于提高编码效率。 例如,可以切换 IntelliSense 完成模式(IntelliSense 是一种编码辅助工具,可显示匹配方法列表以及其他内容),增加或减少行缩进,或标注出不想编译的代码。 在本部分中,我们将标注出部分代码。
将以下代码粘贴到
Main()
方法主体中。// _words is a string array that we'll sort alphabetically string[] _words = { "the", "quick", "brown", "fox", "jumps" }; string[] morewords = { "over", "the", "lazy", "dog" }; IEnumerable<string> query = from word in _words orderby word.Length select word;
我们现在没有使用
morewords
变量,但稍后可能会用到,所以我们不想彻底删除它。 那我们就来为这些行加上注释。 选择整个morewords
定义直到结束分号,然后选择工具栏上的“注释掉选定行”。 如果想要使用键盘,请按 Ctrl+K, Ctrl+C 。C# 注释字符
//
添加到了每个所选行的开始处,从而为代码添加注释。
工具栏是 Visual Studio 菜单栏下的一行按钮,有助于提高编码效率。 例如,可以切换到 IntelliSense 完成模式、增加或减少缩进,或者注释掉不想编译的代码。
让我们注释掉一些代码。
将以下代码粘贴到
Main()
方法主体中。// someWords is a string array. string[] someWords = { "the", "quick", "brown", "fox", "jumps" }; string[] moreWords = { "over", "the", "lazy", "dog" }; // Alphabetically sort the words. IEnumerable<string> query = from word in someWords orderby word select word;
我们现在没有使用
moreWords
变量,但稍后可能会用到,所以我们不想删除它。 那我们就来注释掉这些行。 选择整个moreWords
定义直到结束分号,然后选择工具栏上的“注释掉选定行”。 如果想要使用键盘,请按 Ctrl+E, Ctrl+C 。C# 注释字符
//
添加到了每个所选行的开始处,从而为代码添加注释。
折叠代码块
我们不想看到生成的 Class1
的空构造函数,所以为了让代码更整洁,我们将其折叠。 在构造函数第一行的边距中选择内部带有减号的小灰色框。 如果首选使用键盘,也可将光标置于构造函数代码中的任意位置,然后按 Ctrl+M、Ctrl+M 。
代码块折叠到第一行,后跟省略号 (...
)。 若要再次展开代码块,请单击现在带有加号的相同灰色框,或者再次按 Ctrl+M,Ctrl+M 。 此功能被称为大纲显示,在折叠长方法或整个类时特别有用。
代码块折叠到第一行,后跟省略号 (...
)。 若要再次展开代码块,请选择现在带有加号的相同灰色框,或者再次按 Ctrl+M,Ctrl+M 。 此功能被称为大纲显示,在折叠长方法或整个类时特别有用。
查看符号定义
通过 Visual Studio 编辑器可轻松查看类型、方法等的定义。一种方法是导航到包含定义的文件,例如通过选择“转到定义”或按“F12”,转到引用符号的任何位置 。 使用“速览定义”速度更快,不会干扰你处理文件。 我们来快速查看一下 string
类型的定义。
右键单击出现的任意
string
,然后选择内容菜单上的“速览定义”。 或者,按 Alt+F12 。此时会出现一个弹出窗口,其中包含
String
类的定义。 可在弹出窗口中滚动,甚至还可从速览的代码中查看另一类型的定义。选择弹出窗口右上方的“x”小框,关闭“速览定义”窗口。
通过 Visual Studio 编辑器,可轻松查看类型、方法或变量的定义。 一种方法是转到包含定义的任何文件,例如通过选择“转到定义”或按“F12”,转到引用符号的任何位置 。 使用“速览定义”速度更快,不会干扰你处理代码。
我们来快速查看一下 string
类型的定义。
右键单击出现的任意
string
,然后选择内容菜单上的“速览定义”。 或者,按 Alt+F12 。此时会出现一个弹出窗口,其中包含
String
类的定义。 可在弹出窗口中滚动,甚至还可从速览的代码中查看另一类型的定义。选择弹出窗口右上方的“x”小框,关闭“速览定义”窗口。
使用 IntelliSense 完成单词
编写代码时,IntelliSense 是非常宝贵的资源。 它可显示某个类型的可用成员信息,或某个方法不同重载的参数详情。 还可用于完成单词,从而在输入大量字符后消除字符带来的歧义。 添加代码行,将有序字符串呈现到控制台窗口,这是程序输出的标准位置。
在
query
变量下,开始键入以下代码:foreach (string str in qu
IntelliSense 会显示有关
query
符号的“快速信息”。若要使用 IntelliSense 文字自动完成功能插入单词
query
的剩余部分,请按 Tab。完成后,代码块如以下代码所示。 你甚至可以通过输入
cw
,然后按 Tab 两次来生成Console.WriteLine
代码,再次练习使用代码片段。foreach (string str in query) { Console.WriteLine(str); }
编写代码时,IntelliSense 是非常宝贵的资源。 它可显示某个类型的可用成员信息,或某个方法不同重载的参数详情。 还可用于完成单词,从而在输入大量字符后消除字符带来的歧义。
添加代码行,将有序字符串呈现到控制台窗口,这是程序输出的标准位置。
在
query
变量下,开始键入以下代码:foreach (string str in qu
此时会看到一个 IntelliSense 弹出项,其中包含有关
query
符号的相关信息。若要使用 IntelliSense 文字自动完成插入单词
query
的剩余部分,请按 Tab。完成后,代码块如以下代码所示。 你可以通过输入
cw
,然后按 Tab 两次来生成Console.WriteLine
语句,从而进一步练习代码片段。foreach (string str in query) { Console.WriteLine(str); }
重构名称
没有谁能一次就得到正确的代码,代码中可能必须要更改的一项内容是变量或方法的名称。 我们来试试 Visual Studio 的重构功能,将 _words
变量重命名为 words
。
将光标置于
_words
变量的定义上,然后从右键菜单或上下文菜单中选择“重命名”,或按 Ctrl+R,Ctrl+R 。此时编辑器右上角会弹出一个“重命名”对话框。
输入所需名称“words”。 请注意,查询中对
words
的引用也会自动重命名。 在按 Enter 前,请在“重命名”弹出框中选中“包含注释”复选框 。按 Enter。
出现的两处
words
均被重命名,代码注释中对words
的引用也被重命名。
没有谁能一次就得到正确的代码,代码中可能必须要更改的一项内容是变量或方法的名称。 我们来试试 Visual Studio 的重构功能,将 someWords
变量重命名为 unsortedWords
。
将光标置于
someWords
变量的定义上,然后从右键菜单或上下文菜单中选择“重命名”,或按 F2。此时编辑器右上角会出现一个“重命名”对话框。
输入所需名称“unsortedWords”。 你会看到查询中对
query
赋值语句中unsortedWords
的引用也会自动重命名。 在按 Enter 前,请在“重命名”弹出框中选中“包含注释”复选框 。按 Enter,或在“重命名组”对话框中选择“应用”。
代码中出现的两处
someWords
均被重命名,代码注释中的文本someWords
也被重命名。