Узнайте, как использовать редактор кода

В этом 10-минутном введении, посвященном редактору кода в Visual Studio, мы добавим код в файл, чтобы рассмотреть некоторые способы, упрощающие написание, понимание кода и навигацию по нему в Visual Studio.

Совет

Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.

Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.

Эта статья предполагает, что вы уже знакомы с языком программирования. В противном случае рекомендуется сначала посмотреть одно из кратких руководств по языкам программирования Python или C# либо по созданию консольного приложения с помощью Visual Basic или C++.

Совет

Чтобы выполнять действия, описанные в этой статье, выберите нужные параметры C# для Visual Studio. Сведения о настройке параметров для интегрированной среды разработки (IDE) вы найдете в этой статье.

Создание файла кода

Для начала создайте файл и добавьте в него код.

  1. Откройте Visual Studio. Нажмите клавишу ESC или нажмите Продолжить без кода в окне запуска, чтобы открыть среду разработки.

  2. В меню Файл в строке меню выберите пункты Создать>Файл.

  3. В диалоговом окне Новый файл в разделе Общие выберите Класс Visual C# и нажмите кнопку Открыть.

    Новый файл открывается в редакторе с каркасом класса C#. (Обратите внимание, что нам не нужно создавать полный проект Visual Studio, чтобы получить некоторые преимущества редактора кода. Вам нужен только файл кода!)

    Screenshot of a C# code file in Visual Studio.

  1. Откройте Visual Studio. Нажмите клавишу ESC или щелкните команду Продолжить без кода в окне запуска, чтобы открыть среду разработки.

  2. В меню Файл в строке меню выберите элементы Создать>Файл или нажмите клавиши CTRL+N.

  3. В диалоговом окне "Создать файл" в категории "Общие" выберите класс C#, а затем нажмите кнопку "Открыть".

    Новый файл открывается в редакторе с каркасом класса C#.

    Screenshot of a C# code file in Visual Studio 2022.

Использование GitHub Copilot

GitHub Copilot выступает в качестве программиста пары ИИ, чтобы обеспечить автозавершение кода в стиле и предложения многострочный многострочный код, как код в режиме реального времени, прямо в редакторе. GitHub Copilot преобразует запросы естественного языка, включая комментарии и имена методов в предложения по программированию. Вы можете просматривать и включать предложения из GitHub Copilot непосредственно в редакторе.

Давайте используем Copilot для создания предложений кода:

  1. Поместите курсор чуть ниже окончательного закрывающего скобки } в файле.
  2. Введите комментарий естественного языка: // Add a method to add two numbers и ВВОД.
  3. GitHub Copilot создает предложение кода для вас. Предлагаемая реализация отображается в сером тексте.
  4. Чтобы принять предложение, нажмите клавишу TAB.

Animated screenshot that shows the code suggestions generated by GitHub Copilot for the user comment.

Начало работы с GitHub Copilot в Visual Studio. Обратите внимание, что для него требуется Visual Studio 2022 17.5.5 или более поздней версии.

Использование фрагментов кода

Visual Studio предоставляет удобные фрагменты кода, позволяющие быстро и легко создавать часто используемые блоки кода. Фрагменты кода доступны для различных языков программирования, включая C#, Visual Basic и C++.

Давайте добавим фрагмент void Main C# в файл.

  1. Поместите курсор над последней закрывающей фигурной скобкой } в файле и введите символы svm. (svm расшифровывается как static void Main. Метод Main() является точкой входа для приложений C#.)

    Появится всплывающее диалоговое окно с информацией о фрагменте кода svm.

    Screenshot of an IntelliSense pop-up for a code snippet in Visual Studio.

  2. Два раза нажмите клавишу TAB, чтобы вставить фрагмент кода.

    Вы увидите, как в файл добавляется сигнатура метода static void Main().

Для разных языков программирования доступны различные фрагменты кода. Вы можете просмотреть фрагменты кода, доступные для используемого языка, выбрав Изменить>IntelliSense>Вставить фрагмент и указав папку вашего языка. Для C# список выглядит следующим образом.

Screenshot of an IntelliSense pop-up for a C# code snippet list.

  1. Поместите курсор над последней закрывающей фигурной скобкой } в файле и введите символы svm.

    Появится всплывающее диалоговое окно с информацией о фрагменте кода svm.

    Screenshot of an IntelliSense pop-up for a code snippet in Visual Studio 2022.

  2. Два раза нажмите клавишу TAB, чтобы вставить фрагмент кода.

    Вы увидите, как в файл добавляется сигнатура метода static void Main(). Метод Main() является точкой входа для приложений C#.

Для разных языков программирования доступны соответствующие фрагменты кода. Вы можете просмотреть фрагменты кода, доступные для используемого языка. Для этого выберите элементы Изменить>IntelliSense>Вставить фрагмент или нажмите клавиши CTRL+K и CTRL+X, а затем укажите папку для своего языка программирования. Для C# список фрагментов кода выглядит следующим образом.

Screenshot of an IntelliSense pop-up for a C# code snippet list.

Список включает фрагменты кода для создания класса, конструктора, цикла for, операторов if и switch и многое другое.

Закомментирование кода

Панель инструментов, которая находится в строке кнопок под строкой меню в Visual Studio, поможет повысить продуктивность написания кода. Например, можно переключить режим завершения IntelliSense (IntelliSense — это помощник в написании кода, который отображает список подходящих методов и многое другое), увеличить или уменьшить отступ строки или закомментировать код, который вы не хотите компилировать. В этом разделе мы закомментируем код.

Screenshot of the Editor toolbar in 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+K, Ctrl+C.

    Screenshot of the Comment out button in the Editor toolbar in Visual Studio.

    Символы комментария C# // добавляются в начало каждой выбранной строки, чтобы закомментировать код.

Панель инструментов текстового редактора, которая представляет строку с кнопками под строкой меню в Visual Studio, делает написание кода более продуктивным. Например, вы можете переключить режим завершения IntelliSense, увеличить либо уменьшить отступ для строк или закомментировать фрагмент кода, который не нужно компилировать.

Screenshot of the Text Editor toolbar in 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+K, CTRL+C.

    Screenshot of the Comment out button in the Text Editor toolbar in Visual Studio 2022.

    Символы комментария C# // добавляются в начало каждой выбранной строки, чтобы закомментировать код.

    Если нужно раскомментировать строки, выберите их, а затем нажмите кнопку Раскомментировать выбранные строки на панели инструментов текстового редактора. Если вы предпочитаете использовать клавиатуру, нажмите клавиши CTRL+K, CTRL+U.

    Screenshot of the Uncomment button in the Text Editor toolbar in Visual Studio 2022.

Свертывание блоков кода

Нам не нужно отображать пустой конструктор, созданный для Class1. Поэтому, чтобы не перенасыщать представление кода деталями, мы свернем его. Выберите небольшое серое поле со знаком "минус" внутри в поле первой строки конструктора. Или, если вы предпочитаете использовать клавиатуру, поместите курсор в любое место кода конструктора и нажмите клавиши CTRL+M, CTRL+M.

Screenshot of the Outlining collapse button in the Text Editor toolbar in Visual Studio.

Блок кода сворачивается до первой строки, после которой идет многоточие (...). Чтобы развернуть блок кода, щелкните то же серое поле, в котором теперь находится знак "плюс", или нажмите клавиши CTRL+M, CTRL+M еще раз. Эта функция называется структурированием и особенно полезна при свертывании длинных методов или целых классов.

Нам не нужно отображать пустой конструктор, созданный для Class1. Поэтому, чтобы не перенасыщать представление кода деталями, мы свернем его. Выберите небольшое серое поле со знаком "минус" внутри в поле первой строки конструктора. Или, если вы предпочитаете использовать клавиатуру, поместите курсор в любое место кода конструктора и нажмите клавиши CTRL+M, CTRL+M.

Screenshot of the Outlining collapse button in the Text Editor toolbar in Visual Studio 2022.

Блок кода сворачивается до первой строки, после которой идет многоточие (...). Чтобы развернуть блок кода, щелкните то же серое поле, в котором теперь находится знак "+", или нажмите клавиши CTRL+M, CTRL+M еще раз. Эта функция называется структурированием и особенно полезна при свертывании длинных методов или целых классов.

Просмотр определений символов

Редактор Visual Studio упрощает проверку определения типа, метода и т. д. Один из способов — перейти к файлу, который содержит определение, например, выбрав "Перейти к определению " в любом месте, на который ссылается символ. Сделать это еще быстрее и даже без перемещения фокуса с рабочего файла можно с помощью команды Показать определение. Давайте посмотрим определение типа string.

  1. Щелкните правой кнопкой мыши любой из экземпляров string и выберите пункт Показать определение в контекстном меню. Или нажмите Alt+F12.

    Отображается всплывающее окно с определением класса String. Вы можете прокрутить его или даже показать определение другого типа из просматриваемого кода.

    Screenshot of a Peek definition window in Visual Studio.

  2. Закройте окно просматриваемого определения, щелкнув небольшое поле со знаком "x" в его правом верхнем углу.

В редакторе Visual Studio можно легко проверить определение типа, метода или переменной. Один из способов — перейти к файлу, который содержит определение. Для этого выберите команду Перейти к определению или нажмите клавишу F12 в любом месте, где указана ссылка на этот символ. Сделать это еще быстрее и даже без перемещения фокуса с кода можно, щелкнув команду Показать определение.

Давайте посмотрим определение типа string.

  1. Щелкните правой кнопкой мыши любой из экземпляров string и выберите пункт Показать определение в контекстном меню. Или нажмите клавиши ALT+F12.

    Отображается всплывающее окно с определением класса String. Вы можете прокрутить его или даже показать определение другого типа из просматриваемого кода.

    Screenshot of the Peek definition window in Visual Studio 2022.

  2. Закройте окно просматриваемого определения, щелкнув небольшое поле со знаком Х справа в верхнем углу.

Использование IntelliSense для завершения слов

Технология IntelliSense крайне полезна при написании кода. Она может отображать сведения о доступных членах типа или сведения о параметрах для различных перегрузок метода. Вы также можете использовать IntelliSense для завершения слова после того, как ввели достаточно знаков для однозначного его определения. Давайте добавим строку кода для вывода упорядоченных строк в окне консоли — это стандартное место для отображения выходных данных программы.

  1. Начните набирать следующий код под переменной query.

    foreach (string str in qu
    

    Вы видите, как IntelliSense показывает Краткие сведения о символе query.

    Screenshot of an IntelliSense word completion pop-up in Visual Studio.

  2. Чтобы вставить оставшуюся часть слова query с помощью функции завершения слов IntelliSense, нажмите клавишу 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.

    Screenshot of an IntelliSense word completion pop-up in Visual Studio 2022.

  2. Чтобы вставить оставшуюся часть слова query с помощью функции завершения слов IntelliSense, нажмите клавишу TAB.

  3. Завершите блок кода, чтобы он выглядел аналогично приведенному ниже примеру кода. Вы можете попрактиковаться, используя фрагменты кода. Для этого введите cw и дважды нажмите клавишу TAB, чтобы создать оператор Console.WriteLine.

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

Рефакторинг имени

Никто не пишет код правильно с первого раза, и, среди прочего, вам может потребоваться изменить имя переменной или метода. Давайте попробуем использовать функциональность рефакторинга Visual Studio, чтобы переименовать переменную _words в words.

  1. Поместите курсор на определение переменной _words и выберите пункт Переименовать в контекстном меню или нажмите клавиши CTRL+R, CTRL+R.

    В верхней правой части редактора отображается всплывающее диалоговое окно Переименование.

  2. Введите нужное имя words. Обратите внимание, что ссылка на words в запросе также переименовывается автоматически. Перед нажатием клавиши ВВОД установите флажок Включить комментарии во всплывающем окне Переименование.

    Screenshot of a Rename dialog box in Visual Studio.

  3. Нажмите ВВОД.

    Переименованы были оба экземпляра words, а также ссылка на words в комментарии кода.

Никто не пишет код правильно с первого раза, и, среди прочего, вам может потребоваться изменить имя переменной или метода. Давайте попробуем использовать функциональность рефакторинга Visual Studio, чтобы переименовать переменную someWords в unsortedWords.

  1. Поместите курсор на определение переменной someWords и выберите команду Переименовать в контекстном меню или нажмите клавишу F2.

    Справа в верхней части окна редактора отобразится диалоговое окно Переименование.

    Screenshot of the Rename pop-up box within the editor of Visual Studio 2022.

  2. Введите имя unsortedWords. Вы увидите, что ссылка на unsortedWords в операторе назначения query также переименовывается автоматически. Перед нажатием клавиши ВВОД выберите поле "Включить примечания" проверка box во всплывающем окне "Переименовать".

    Screenshot of the Rename pop-up box in Visual Studio 2022.

  3. Нажмите клавишу ВВОД.

    Оба вхождения someWords в коде, а также текст someWords в комментарии к коду были переименованы.

Следующие шаги

См. также