了解如何使用代码编辑器
在 Visual Studio 中代码编辑器的 10 分钟简介中,我们将向文件添加代码,以了解 Visual Studio 编写、导航和理解代码的一些方法。
提示
如果尚未安装 Visual Studio,请转到 Visual Studio 下载 页免费安装。
如果尚未安装 Visual Studio,请转到 Visual Studio 下载 页免费安装。
本文假设你已熟悉编程语言。 如果没有,建议先查看其中一个编程快速入门,例如使用 Python 或 C#创建 Web 应用,或者使用 Visual Basic 或 C++创建控制台应用。
提示
若要按照本文进行操作,请确保已为 Visual Studio 选择 C# 设置。 有关选择集成开发环境(IDE)的设置的信息,请参阅 选择环境设置。
创建新的代码文件
首先创建一个新文件并向其添加一些代码。
打开 Visual Studio。 按 Esc,或在开始窗口中单击“继续”,而不用代码 打开开发环境。
从菜单栏上的“文件”菜单中,选择 “新建>文件”。
在“新建文件”对话框中的 “常规”类别下,选择 Visual C# 类,然后选择 “打开”。
在编辑器中打开一个新文件,其中包含 C# 类的框架。 (请注意,我们不必创建完整的 Visual Studio 项目才能获得代码编辑器提供的一些优势;只需要一个代码文件!
打开 Visual Studio。 选择 Esc 键,或在“开始”窗口中选择 “继续无代码”,以打开开发环境。
从菜单栏上的“文件”菜单中,选择 “新建>文件”,或选择 Ctrl+N 键。
在“新建文件”对话框中,在 “常规”类别下,选择 C# 类,然后选择 “打开”。
在编辑器中打开一个新文件,其中包含 C# 类的框架。
使用 GitHub Copilot
GitHub Copilot 将充当 AI 结对程序员,可在你编写代码时直接在编辑器中实时提供自动完成样式的代码完成和上下文感知型多行代码建议。 GitHub Copilot 将自然语言提示(包括注释和方法名称)转换为编码建议。 可以直接在编辑器中查看并合并 GitHub Copilot 的建议。
让我们使用 Copilot 生成代码建议:
- 将光标放在文件中最后一个右大括号 } 的正下方。
- 键入自然语言注释“
// Add a method to add two numbers
”,然后单击 Enter。 - GitHub Copilot 会为你生成代码建议。 建议的实现以灰色文本显示。
- 若要接受建议,请选择 Tab。
在 Visual Studio 中开始使用GitHub Copilot。 请注意,它需要 Visual Studio 2022 版本 17.8 或更高版本。
使用代码片段
Visual Studio 提供了有用的 代码片段,可用于快速轻松地生成常用代码块。 代码片段 可用于不同的编程语言,包括 C#、Visual Basic 和 C++。
让我们将 C# void Main
代码片段添加到文件中。
将光标放在文件中最后一个右大括号 } 上方,然后键入字符
svm
。 (svm
代表static void Main
;Main() 方法是 C# 应用程序的入口点。此时会显示一个弹出对话框,其中包含有关
svm
代码片段的信息。按 Tab 两次插入代码片段。
你将看到
static void Main()
方法签名已添加到文件中。
可用的代码片段因不同的编程语言而异。 可以通过选择 “编辑”>IntelliSense>“插入代码段”,然后选择语言的文件夹来查看语言的可用代码片段。 对于 C#,列表如下所示:
将光标放在文件中最后一个右大括号
}
上方,然后键入字符svm
。此时会显示一个弹出对话框,其中包含有关
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 +K,Ctrl+C。//
的 C# 注释字符将添加到每个选定行的开头,以注释掉代码。要取消行的注释,可以先选择这些行,然后在文本编辑器工具栏上选择 取消注释所选行 按钮。 如果希望使用键盘,请选择 ctrl Ctrl+K,Ctrl+U。
折叠代码块
我们不想看到为 Class1
生成的空 构造函数,因此为了让代码视图更加简洁,让我们将其折叠。 在构造函数第一行的边距中选择内部带有减号的小灰色框。 或者,如果希望使用键盘,请将光标放在构造函数代码中的任意位置,然后按 Ctrl+M,Ctrl+M。
代码块仅折叠为第一行,后跟省略号(...
)。 若要再次展开代码块,请单击现在包含加号的同一个灰色框,或者再次按 Ctrl+M,Ctrl+M。 此功能被称为大纲显示,在折叠长方法或整个类时特别有用。
我们不想看到为 Class1
生成的空 构造函数,为了简化我们对代码的视图,让我们将其收起。 在构造函数第一行的边距中选择内部带有减号的小灰色框。 或者,如果希望使用键盘,请将光标放在构造函数代码中的任意位置,然后选择 ctrl +M,Ctrl+M 键。
代码块仅折叠为第一行,后跟省略号(...
)。 若要再次展开代码块,请选择现在带有加号的同一灰色框,或再次选择 Ctrl+M,Ctrl+M。 此功能被称为大纲显示,在折叠长方法或整个类时特别有用。
查看符号定义
使用 Visual Studio 编辑器可以轻松检查类型、方法等的定义。一种方法是导航到包含定义的文件,例如,选择 转到定义 引用符号的任何位置。 使用“速览定义”速度更快,不会干扰你处理文件。 让我们看看 string
类型的定义。
右键单击出现的任意
string
,然后选择内容菜单上的“速览定义”。 或者,按 Alt+F12。此时会显示一个弹出窗口,其中包含
String
类的定义。 可以在弹出窗口内滚动,甚至可以从速览代码中查看另一种类型的定义。通过选择弹出窗口右上角带有“x”的小框来关闭速览定义窗口。
使用 Visual Studio 编辑器可以轻松检查类型、方法或变量的定义。 一种方法是在包含定义的任何文件中转到定义:在引用符号的任何位置选择“转到定义”或选择“F12”键。 使用“速览定义”速度更快,不会干扰你处理代码。
让我们看看 string
类型的定义。
右键单击出现的任意
string
,然后选择内容菜单上的“速览定义”。 或者,选择 Alt+F12 键。此时会显示一个弹出窗口,其中包含
String
类的定义。 可以在弹出窗口内滚动,甚至可以从速览代码中查看另一种类型的定义。通过选择弹出窗口右上角带有“x”的小框来关闭速览定义窗口。
使用 IntelliSense 完成单词
在编码时,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 是一种宝贵的资源。 它可显示某个类型的可用成员信息,或某个方法不同重载的参数详情。 在键入足够的字符以消除歧义后,还可以使用 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 前,请在“重命名”弹出框中选中“包含注释”复选框。按 输入。
出现的两处
words
均被重命名,代码注释中对words
的引用也被重命名。
没有人第一次写代码就能完全正确,所以你可能需要更改的其中一项是变量或方法的名称。 让我们尝试使用 Visual Studio 的 重构 功能,将 someWords
变量重命名为 unsortedWords
。
将光标置于
someWords
变量的定义上,然后从右键单击或上下文菜单中选择 重命名,或选择 F2 键。编辑器右上角会显示 重命名 对话框。
输入所需名称“unsortedWords”。 你会看到对
query
赋值语句中unsortedWords
的引用也会自动重命名。 请在“重命名”弹出框中选中“包含注释”复选框,然后选择 Enter 键。选择 Enter 键。
代码中出现的两处
someWords
均被重命名,代码注释中的文本someWords
也被重命名。