Узнайте, как использовать редактор кода с C#
В этом 10-минутном введении, посвященном редактору кода в Visual Studio, мы добавим код в файл, чтобы рассмотреть некоторые способы, упрощающие написание, понимание кода C# и навигацию по нему в Visual Studio.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
В этой статье предполагается, что вы уже знакомы с C#. Если это не так, мы рекомендуем сначала изучить руководство по началу работы с C# и ASP.NET Core в Visual Studio.
Совет
Чтобы выполнять действия, описанные в этой статье, выберите нужные параметры C# для Visual Studio. Сведения о настройке параметров для интегрированной среды разработки (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++.
Давайте добавим фрагмент void Main
C# в файл.
Поместите курсор над последней закрывающей фигурной скобкой } в файле и введите символы
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+K, 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
. Вы можете прокрутить его или даже показать определение другого типа из просматриваемого кода.Закройте окно просматриваемого определения, щелкнув небольшое поле со знаком Х справа в верхнем углу.
Использование IntelliSense для завершения слов
Технология IntelliSense крайне полезна при написании кода. Она может отображать сведения о доступных членах типа или сведения о параметрах для различных перегрузок метода. Вы также можете использовать IntelliSense для завершения слова после того, как ввели достаточно знаков для однозначного его определения. Давайте добавим строку кода для вывода упорядоченных строк в окне консоли — это стандартное место для отображения выходных данных программы.
Начните набирать следующий код под переменной
query
.foreach (string str in qu
Вы видите, как IntelliSense показывает Краткие сведения о символе
query
.Чтобы вставить оставшуюся часть слова
query
с помощью функции завершения слов IntelliSense, нажмите клавишу Tab.Завершите блок кода, чтобы он выглядел аналогично приведенному ниже примеру кода. Вы даже можете снова попрактиковаться в использовании фрагментов кода, введя
cw
и дважды нажав клавишу TAB, чтобы создать кодConsole.WriteLine
.foreach (string str in query) { Console.WriteLine(str); }
Технология IntelliSense крайне полезна при написании кода. Она может отображать сведения о доступных членах типа или сведения о параметрах для различных перегрузок метода. Вы также можете использовать IntelliSense для завершения слова после того, как ввели достаточно знаков для однозначного его определения.
Давайте добавим строку кода для вывода упорядоченных строк в окне консоли — это стандартное место для отображения выходных данных программы.
Начните набирать следующий код под переменной
query
.foreach (string str in qu
Вы увидите всплывающее окно IntelliSense с информацией о символе
query
.Чтобы вставить оставшуюся часть слова
query
с помощью функции завершения слов IntelliSense, нажмите клавишу TAB.Завершите блок кода, чтобы он выглядел аналогично приведенному ниже примеру кода. Вы можете попрактиковаться, используя фрагменты кода. Для этого введите
cw
и дважды нажмите клавишу TAB, чтобы создать операторConsole.WriteLine
.foreach (string str in query) { Console.WriteLine(str); }
Рефакторинг имени
Никто не пишет код правильно с первого раза, и, среди прочего, вам может потребоваться изменить имя переменной или метода. Давайте попробуем использовать функциональность рефакторинга Visual Studio, чтобы переименовать переменную _words
в words
.
Поместите курсор на определение переменной
_words
и выберите пункт Переименовать в контекстном меню или нажмите клавиши CTRL+R, CTRL+R.В верхней правой части редактора отображается всплывающее диалоговое окно Переименование.
Введите нужное имя words. Обратите внимание, что ссылка на
words
в запросе также переименовывается автоматически. Перед нажатием клавиши ВВОД установите флажок Включить комментарии во всплывающем окне Переименование.Нажмите ВВОД.
Переименованы были оба экземпляра
words
, а также ссылка наwords
в комментарии кода.
Никто не пишет код правильно с первого раза, и, среди прочего, вам может потребоваться изменить имя переменной или метода. Давайте попробуем использовать функциональность рефакторинга Visual Studio, чтобы переименовать переменную someWords
в unsortedWords
.
Поместите курсор на определение переменной
someWords
и выберите команду Переименовать в контекстном меню или нажмите клавишу F2.Справа в верхней части окна редактора отобразится диалоговое окно Переименование.
Введите имя unsortedWords. Вы увидите, что ссылка на
unsortedWords
в операторе назначенияquery
также переименовывается автоматически. Перед нажатием клавиши ВВОД установите флажок Включить комментарии во всплывающем окне Переименование.Нажмите клавишу ВВОД или щелкните команду Применить в диалоговом окне Переименование.
Оба вхождения
someWords
в коде, а также текстsomeWords
в комментарии к коду были переименованы.