了解如何使用代码编辑器

在 Visual Studio 代码编辑器简介中,你将向文件添加代码并探索 Visual Studio 如何帮助编写、导航和理解代码。

Tip

如果您没有 Visual Studio,请前往 Visual Studio 下载 以免费安装。

如果尚未安装 Visual Studio,请转到 Visual Studio 下载 页免费安装。

本文假设你已熟悉编程语言。 如果没有,建议先查看其中一个编程快速入门,例如使用 PythonC#创建 Web 应用,或者使用 Visual BasicC++创建控制台应用。

Prerequisites

  • 配置了 C# 开发设置的 Visual Studio。 若要配置设置,请参阅 “选择环境设置”。

创建新的代码文件

创建新文件并向其添加一些代码。

  1. 打开 Visual Studio。 在开始窗口中按 Esc 或选择 继续而不需要代码 以打开开发环境。

  2. 在菜单栏上的“ 文件 ”菜单中,选择“ 新建>文件”。

  3. 在“ 新建文件 ”对话框中的 “常规 ”类别下,选择 “Visual C# 类”,然后选择“ 打开”。

    在编辑器中打开一个新文件,其中包含 C# 类的框架。 (请注意,我们不必创建完整的 Visual Studio 项目才能获得代码编辑器提供的一些优势;只需要一个代码文件!

    Visual Studio 中 C# 代码文件的屏幕截图。

  1. 打开 Visual Studio。 选择 Esc 键,或在开始窗口中选择 继续无代码,以打开开发环境。

  2. 从菜单栏上的“ 文件 ”菜单中,选择“ 新建>文件”,或选择 Ctrl+N 键。

  3. 在“ 新建文件 ”对话框中的 “常规 ”类别下,选择 “C# 类”,然后选择“ 打开”。

    在编辑器中打开一个新文件,其中包含基本的 C# 类结构。

    Visual Studio 2022 中 C# 代码文件的屏幕截图。

使用 GitHub Copilot

GitHub Copilot 将充当 AI 结对程序员,可在你编写代码时直接在编辑器中实时提供自动完成样式的代码完成和上下文感知型多行代码建议。 GitHub Copilot 将自然语言提示(包括注释和方法名称)转换为编码建议。 可以直接在编辑器中查看并合并 GitHub Copilot 的建议。

让我们使用 Copilot 生成代码建议:

  1. 将光标放在文件中最后一个右大括号 } 的正下方。

  2. 键入自然语言注释“// Add a method to add two numbers”,然后单击 Enter

  3. GitHub Copilot 会为你生成代码建议。 建议的实现以灰色文本显示。

  4. 若要接受建议,请选择 Tab

    动画屏幕截图,显示 GitHub Copilot 为用户注释生成的代码建议。

让我们使用 Copilot Chat 以提示方式提交编码相关问题:

  1. 选择 IDE 右上角的 GitHub Copilot 徽章。

  2. 从下拉列表中选择 “打开聊天窗口 ”。

  3. 在聊天窗口中输入以下提示:

    
    Generate sample code for a simple C# method to add two numbers.
    
    
  4. Copilot Chat 生成示例代码以响应提示。

GitHub Copilot 由 AI 提供支持,因此可能会带来意外和错误。 有关详细信息,请参阅 GitHub Copilot 常见问题解答

在 Visual Studio 中开始使用GitHub Copilot。

使用代码片段

Visual Studio 提供了有用的代码片段,可用于快速生成常用代码块。 代码片段适用于多种编程语言,包括 C#、Visual Basic 和 C++。

现在,将 C# void Main 代码片段添加到文件。

  1. 将光标放在文件中最后一个右大括号 } 上方,然后键入字符 svm。 (svm 代表 static void Main;Main() 方法是 C# 应用程序的入口点。

    此时会显示一个弹出对话框,其中包含有关 svm 代码片段的信息。

    Visual Studio 中代码片段的 IntelliSense 弹出项的屏幕截图。

  2. Tab 两次插入代码片段。

    你将看到 static void Main() 方法签名已添加到文件中。

可用的代码片段因不同的编程语言而异。 可以通过选择 “编辑”>IntelliSense>“插入代码段”,然后选择语言的文件夹来查看语言的可用代码片段。 对于 C#,列表如下所示:

C# 代码片段列表的 IntelliSense 弹出项的屏幕截图。

  1. 将光标放在文件中最后一个右大括号 } 上方,然后键入字符 svm

    此时会显示一个弹出对话框,其中包含有关 svm 代码片段的信息。

    Visual Studio 2022 中代码片段的 IntelliSense 弹出项的屏幕截图。

  2. 选择 Tab 键两次以插入代码片段。

    你将看到 static void Main() 方法签名已添加到文件中。 Main() 方法是 C# 应用程序的入口点。

可用的代码片段因编程语言而异。 若要查看语言的可用代码片段,请转到 “编辑>IntelliSense>插入代码段 ”或选择 Ctrl+KCtrl+X 键,然后选择编程语言的文件夹。 对于 C#,代码片段列表如下所示:

C# 代码片段列表的 IntelliSense 弹出项的屏幕截图。

该列表包含用于创建构造函数for 循环、ifswitch 语句等的代码片段。

为代码添加注释

工具栏是 Visual Studio 菜单栏下的按钮行,有助于在编码时提高工作效率。 例如,可以切换 IntelliSense 完成模式(IntelliSense 是一种编码辅助功能,它显示匹配方法的列表,等等)、增加或减少行缩进,或注释掉不想编译的代码。 在本部分中,我们将标注出部分代码。

Visual Studio 中编辑器工具栏的屏幕截图。

  1. 将以下代码粘贴到 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;
    
  2. 我们不使用 morewords 变量,但稍后可能会使用它,因此我们不想完全删除它。 那我们就来为这些行加上注释。 选择整个 morewords 定义直到结束分号,然后选择工具栏上的“为选定行添加注释”。 如果希望使用键盘,请按 Ctrl+KCtrl+C

    Visual Studio 中“编辑器”工具栏的“注释禁止”按钮的屏幕截图。

    // 的 C# 注释字符将添加到每个选定行的开头,以注释掉代码。

文本编辑器工具栏(Visual Studio 菜单栏下的按钮行)有助于在代码时提高工作效率。 例如,可以切换 IntelliSense 完成模式、增加或减少行缩进或注释掉不想编译的代码。

Visual Studio 2022 中的文本编辑器工具栏截图。

让我们注释掉一些代码。

  1. 将以下代码粘贴到 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;
    
  2. 变量 moreWords 当前未使用,但稍后可能会使用它,因此可以注释掉这些行,而不是将其删除。 选择moreWords定义到结束分号为止的整体内容,然后选择文本编辑器工具栏上的“注释掉所选行”按钮,或选择Ctrl++、Ctrl+C

    Visual Studio 2022 中“文本编辑器”工具栏的“注释禁止”按钮的屏幕截图。

    // 的 C# 注释字符将添加到每个选定行的开头,以注释掉代码。

    若要取消注释行,可以选择它们,然后选择“文本编辑器”工具栏上的“ 取消注释所选行 ”按钮,或选择 Ctrl+KCtrl+U

    Visual Studio 2022 中“文本编辑器”工具栏中“取消注释”按钮的屏幕截图。

折叠代码块

我们不想看到为 生成的空 Class1,因此为了让代码视图更加简洁,让我们将其折叠。 在构造函数第一行的边距中选择内部带有减号的小灰色框。 或者,如果希望使用键盘,请将光标放在构造函数代码中的任意位置,然后按 Ctrl+MCtrl+M

Visual Studio 中“文本编辑器”工具栏的“大纲显示折叠”按钮的屏幕截图。

代码块仅折叠为第一行,后跟省略号(...)。 若要再次展开代码块,请单击现在包含加号的同一个灰色框,或者再次按 Ctrl+MCtrl+M。 此功能被称为大纲显示,在折叠长方法或整个类时特别有用。

如果不想看到为Class1生成的空构造函数,可以将其折叠以简化代码视图。 选择构造函数第一行边距中的插入符号。 或者,如果希望使用键盘,请将光标放在构造函数代码中的任意位置,然后选择 ctrl +Ctrl+M 键。

文本编辑器工具栏中大纲显示折叠按钮的屏幕截图。

代码块仅折叠为第一行,后跟省略号(...)。 若要再次展开代码块,请选择尖括号符号(>),或再次选择 Ctrl+MCtrl+M。 此功能被称为大纲显示,在折叠长方法或整个类时特别有用。

查看符号定义

使用 Visual Studio 编辑器可以轻松检查类型、方法等的定义。一种方法是导航到包含定义的文件,例如,选择 转到定义 引用符号的任何位置。 使用“速览定义”速度更快,不会干扰你处理文件。 让我们看看 string 类型的定义。

  1. 右键单击出现的任意 string,然后选择内容菜单上的“速览定义”。 或者,按 Alt+F12

    此时会显示一个弹出窗口,其中包含 String 类的定义。 可以在弹出窗口内滚动,甚至可以从速览代码中查看另一种类型的定义。

    Visual Studio 中的“速览定义”窗口的屏幕截图。

  2. 通过选择弹出窗口右上角带有“x”的小框来关闭速览定义窗口。

使用 Visual Studio 编辑器可以轻松检查类型、方法或变量的定义。 一种方法是转到包含定义的任何文件,例如通过选择“转到定义”或选择“F12”键,转到引用符号的任何位置。 使用“速览定义”速度更快,不会干扰你处理代码。

让我们看看 string 类型的定义。

  1. 右键单击出现的任意 string,然后选择内容菜单上的“速览定义”。 或者,选择 Alt+F12 键。

    此时会显示一个弹出窗口,其中包含 String 类的定义。 可以在弹出窗口内滚动,甚至可以从速览代码中查看另一种类型的定义。

    Visual Studio 中“速览定义”窗口的屏幕截图。

  2. 通过选择弹出窗口右上角带有“x”的小框来关闭速览定义窗口。

使用 IntelliSense 完成单词

在编码时,IntelliSense 是一种宝贵的资源。 它可以显示关于某个类型的可用成员的信息,或显示方法的不同重载的参数详细信息。 在键入足够的字符以消除歧义后,还可以使用 IntelliSense 完成单词。 让我们添加一行代码,将有序字符串打印到控制台窗口,这是程序输出的标准位置。

  1. query 变量下方,开始键入以下代码:

    foreach (string str in qu
    

    IntelliSense 会显示有关 query 符号的“快速信息”

    Visual Studio 中 IntelliSense 单词补全弹出窗口的屏幕截图。

  2. 若要使用 IntelliSense 的单词完成功能插入单词 query 的其余部分,请按 Tab

  3. 请补全代码块,使其如以下代码所示。 甚至可以再次练习使用代码片段,方法是输入 cw,然后按 Tab 两次生成 Console.WriteLine 代码。

    foreach (string str in query)
    {
       Console.WriteLine(str);
    }
    

在编码时,IntelliSense 是一种宝贵的资源。 它可以显示关于某个类型的可用成员的信息,或显示方法的不同重载的参数详细信息。 在键入足够的字符以消除歧义后,还可以使用 IntelliSense 完成单词。

让我们添加一行代码,将有序字符串打印到控制台窗口,这是程序输出的标准位置。

  1. query 变量下方,开始键入以下代码:

    foreach (string str in qu
    

    你将看到 IntelliSense 弹出窗口显示,其中包含有关 query 符号的信息。

    Visual Studio 2022 中 IntelliSense 文字自动完成弹出项的屏幕截图。

    如果使用具有 Copilot 订阅的 GitHub 帐户登录,则还会看到代码建议以灰色文本显示。

  2. 若要使用 IntelliSense 单词完成功能插入单词 query 的剩余部分,请按下 Tab 键。

  3. 请补全代码块,使其如以下代码所示。 你可以进一步练习代码片段,方法是输入 cw,然后选择 Tab 两次以生成 Console.WriteLine 语句。

    foreach (string str in query)
    {
       Console.WriteLine(str);
    }
    

重构名称

没有人能在第一次写对代码,而你可能需要修改的一件事就是变量或方法的名称。 让我们尝试使用 Visual Studio 的 重构 功能,将 _words 变量重命名为 words

  1. 将光标置于 _words 变量的定义上,然后从右键单击或上下文菜单中选择 重命名,或者同时按下 Ctrl+RCtrl+R

    编辑器右上角将显示一个弹出 “重命名”对话框。

  2. 输入所需名称“words”。 请注意,查询中对 words 的引用也会自动重命名。 在按 Enter 前,请在“重命名”弹出框中选中“包含注释”复选框

    Visual Studio 中“重命名”对话框的屏幕截图。

  3. Press Enter.

    出现的两处 words 均被重命名,代码注释中对 words 的引用也被重命名。

没有人能在第一次写对代码,而你可能需要修改的一件事就是变量或方法的名称。 让我们尝试使用 Visual Studio 的 重构 功能,将 someWords 变量重命名为 unsortedWords

  1. 将光标置于 someWords 变量的定义上,然后从右键单击或上下文菜单中选择 重命名,或选择 F2 键。

    编辑器右上角会显示 重命名 对话框。

    Visual Studio 2022 编辑器中“重命名”弹出框的屏幕截图。

  2. 输入所需名称“unsortedWords”。 你会看到查询中对 query 赋值语句中 unsortedWords 的引用也会自动重命名。 请在“重命名”弹出框中选中“包含注释”复选框,然后选择 Enter 键。

    Visual Studio 2022 中“重命名”弹出框的屏幕截图。

  3. 选择 Enter 键。

    代码中出现的两处 someWords 均被重命名,代码注释中的文本 someWords 也被重命名。

Next steps

See also