Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Вы можете повысить производительность и надежность с помощью фрагментов кода, чтобы сократить время, затраченное на ввод повторяющегося кода или поиск примеров. Фрагменты кода — это предварительно подготовленные фрагменты кода, готовые к вставке в приложение.
Вы можете создать собственные фрагменты кода и добавить их в фрагменты кода, которые Visual Studio уже включает. В этой статье описывается, как создать фрагмент кода всего за несколько шагов. Вы создаете XML-файл, заполняете соответствующие элементы и добавляете код в файл. При необходимости можно использовать параметры замены и ссылки на проекты. Затем вы импортируете фрагмент кода в установку Visual Studio.
Создание фрагмента кода
Откройте Visual Studio и нажмите кнопку "Продолжить без кода " на начальном экране.
В строке меню выберите "Файл>нового файла" или введите CTRL+N.
В диалоговом окне "Создать файл" выберите XML-файл и нажмите кнопку "Открыть".
Вставьте следующий базовый шаблон фрагмента кода в редактор кода.
<?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title></Title> </Header> <Snippet> <Code Language=""> <![CDATA[]]> </Code> </Snippet> </CodeSnippet> </CodeSnippets>Введите заголовок Square Root в элемент фрагмента
Titleкода.В атрибуте элемента
LanguageвведитеCode, если это фрагмент кода C#, или VB, если Visual Basic.Подсказка
Чтобы просмотреть все доступные языковые значения, см. статью "Атрибуты " в справочнике по схеме фрагментов кода.
Добавьте следующий фрагмент кода
CDATAв раздел внутриCodeэлемента.Для C#:
<![CDATA[double root = Math.Sqrt(16);]]>Для Visual Basic:
<![CDATA[Dim root = Math.Sqrt(16)]]>Замечание
Невозможно указать, как форматировать или отступать строки кода в секции
CDATAфрагмента кода. После вставки служба языка автоматически форматирует вставленный код.Сохраните фрагмент в любом месте как SquareRoot.snippet.
Импорт фрагмента кода
Чтобы импортировать фрагмент кода в установку Visual Studio, выберитедиспетчер фрагментов кода> или нажмите клавиши CTRL+K, B.
В диспетчере фрагментов кода нажмите кнопку "Импорт ".
Перейдите к расположению фрагмента кода, выберите его и нажмите кнопку "Открыть".
В диалоговом окне импорта кода выберите папку "Фрагменты кода" в правой области. Выберите Готово, затем выберите ОК.
Фрагмент копируется в одно из следующих расположений в зависимости от языка кода:
- %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#\My Code Snippets
- %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual Basic\My Code Snippets
Проверьте фрагмент кода, открыв проект C# или Visual Basic. Открыв файл кода в редакторе, выполните одно из следующих действий:
- В строке меню Visual Studio нажмите кнопку "Изменить>IntelliSense>Insert Snippet".
- Щелкните правой кнопкой мыши и выберите фрагмент>вставить фрагмент из контекстного меню.
- На клавиатуре нажмите клавиши CTRL+K, X.
Откройте фрагменты кода и дважды щелкните фрагмент кода с именем Square Root. Код фрагмента вставляется в файл кода.
Описание и поля сокращенных команд
Поле описания содержит дополнительные сведения о фрагменте кода при просмотре в диспетчере фрагментов кода. Ярлык — это тег, который можно ввести для вставки фрагмента кода.
Чтобы изменить фрагмент кода, откройте файл фрагмента кода из одного из следующих расположений в зависимости от языка кода:
- %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#\My Code Snippets/SquareRoot.snippet
- %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual Basic\My Code Snippets/SquareRoot.snippet
Подсказка
Так как вы редактируете файл в каталоге, куда Visual Studio поместила его, не нужно повторно импортировать его в Visual Studio.
Добавьте
AuthorиDescriptionShortcutэлементы вHeaderэлемент и заполните их.Убедитесь, что элемент выглядит примерно так, как показано
Headerв следующем примере, и сохраните файл.<Header> <Title>Square Root</Title> <Author>Myself</Author> <Description>Calculates the square root of 16.</Description> <Shortcut>sqrt</Shortcut> </Header>Откройте диспетчер фрагментов кода Visual Studio Code и выберите фрагмент кода. В правой области обратите внимание, что поля "Описание", " Автор" и "Ярлык " теперь заполняются.
Чтобы проверить ярлык, откройте проект, который вы использовали ранее, введите sqrt в редакторе и нажмите клавишу TAB один раз для Visual Basic или дважды для C#. Код фрагмента вставляется.
Параметры замены
Может быть, вы захотите, чтобы пользователь заменил части фрагмента кода. Например, может потребоваться, чтобы пользователь заменил имя переменной одним из них в текущем проекте.
Можно предоставить два типа замены: литералы и объекты.
Используйте элемент Literal, чтобы определить замену для кода, полностью содержащегося в фрагменте, который можно настроить после его вставки в код. Например, строковое или числовое значение.
Используйте элемент Object для идентификации элемента, который требует фрагмент кода, но, вероятно, определен за пределами фрагмента кода. Например, экземпляр объекта или элемент управления.
Элемент Literal в файле SquareRoot.snippet можно использовать, чтобы помочь пользователям легко изменить число, для которого нужно вычислить квадратный корень.
В файле SquareRoot.snippet измените
Snippetэлемент следующим образом:<Snippet> <Code Language="CSharp"> <![CDATA[double root = Math.Sqrt($Number$);]]> </Code> <Declarations> <Literal> <ID>Number</ID> <ToolTip>Enter the number you want the square root of.</ToolTip> <Default>16</Default> </Literal> </Declarations> </Snippet>Обратите внимание, что текстовая замена получает идентификатор
Number. Вы ссылаетесь на этот идентификатор в фрагменте кода, окружив его$символами, как показано ниже.<![CDATA[double root = Math.Sqrt($Number$);]]>Сохраните файл фрагмента кода.
Откройте проект и вставьте фрагмент кода.
Фрагмент кода вставляется, а редактируемый литерал выделен для замены. Наведите курсор на параметр замены, чтобы увидеть всплывающую подсказку для значения.
Подсказка
Если в фрагменте кода есть несколько заменяемых параметров, можно нажать клавишу TAB , чтобы перейти от одного параметра к другому, чтобы изменить значения.
Импорт пространства имен
С помощью фрагмента кода можно добавить директиву using (C#) или Imports инструкцию (Visual Basic), включив элемент Import. Для проектов .NET Framework можно также добавить ссылку на проект с помощью элемента References.
В следующем XML-коде показан фрагмент кода, который использует метод File.Exists в System.IO пространстве имен и поэтому определяет Imports элемент для импорта System.IO пространства имен.
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>File Exists</Title>
<Shortcut>exists</Shortcut>
</Header>
<Snippet>
<Code Language="CSharp">
<![CDATA[var exists = File.Exists("C:\\Temp\\Notes.txt");]]>
</Code>
<Imports>
<Import>
<Namespace>System.IO</Namespace>
</Import>
</Imports>
</Snippet>
</CodeSnippet>
</CodeSnippets>
Связанный контент
- Справочные материалы по XML-схеме фрагментов кода IntelliSense в Visual Studio см. в разделе Справочник по схеме фрагментов кода.
- Сведения о создании фрагментов в Visual Studio Code см. в статье "Создание собственных фрагментов".