Элемент Code (фрагменты кода IntelliSense)
Обновлен: Ноябрь 2007
Предоставляет контейнер для коротких блоков кода фрагментов кода IntelliSense.
<Code Language="Language"
Kind="method body/method decl/type decl/page/file/any"
Delimiter="Delimiter">
Code to insert
</Code>
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут |
Описание |
---|---|
Delimiter |
Необязательный атрибут. Задает разделитель, используемый для описания литералов и объектов в коде. По умолчанию разделителем является $. |
Kind |
Необязательный атрибут. Задает вид кода, содержащийся во фрагменте, а следовательно, и место, в которое должен быть вставлен фрагмент кода для его компиляции. Доступные значения — method body, method decl, type decl, file и any. Дополнительные сведения см. в разделе «Атрибут вида» в следующей таблице. |
Language |
Обязательный атрибут. Задает язык фрагмента кода. Доступные значения — VB, CSharp или XML. Дополнительные сведения см. в разделе «Атрибут языка» в следующей таблице. |
Атрибут вида
Значение |
Описание |
---|---|
method body |
Задает, что фрагмент кода является телом метода, а следовательно, он должен вставляться внутрь объявления метода. |
method decl |
Задает, что фрагмент кода является методом, а следовательно, он должен вставляться внутрь класса или модуля. |
type decl |
Задает, что фрагмент кода является типом, а следовательно, он должен вставляться внутрь класса, модуля или пространства имен. |
file |
Задает, что фрагмент является полным файлом кода. Данные фрагменты кода могут вставляться только в файл кода или внутрь пространства имен. |
any |
Указывает на то, что фрагмент может вставляться в любое место. Данный тег используется для фрагментов кода, которые не зависят от контекста, например комментариев. |
Атрибут языка
Значение |
Описание |
---|---|
VB |
Определяет фрагмент кода Visual Basic. |
CSharp |
Определяет фрагмент кода Visual C#. |
XML |
Определяет фрагмент кода XML. |
Дочерние элементы
Отсутствуют.
Родительские элементы
Элемент |
Описание |
---|---|
Содержит ссылки, импорты, объявления и код для фрагмента кода. |
Текстовое значение
Текстовое значение является обязательным.
Данный текст задает код, а также литералы и объекты, которые могут быть использованы при вставке данного фрагмента кода в проект.
Заметки
Для использования в тексте элемента Code предусмотрено два зарезервированных слова: $end$ и $selected$. $end$ отмечает место для размещения курсора после вставки фрагмента кода. $selected$ представляет текст, выделенный в документе для вставки во фрагмент при его вызове. Например, если имеется:
$selected$ is a great color. I love $selected$.
и слово «Blue» выделено при вызове шаблона, получится следующее:
Blue is a great color. I love Blue.
Все остальные ключевые слова $ динамически определяются в тегах <Literal> и <Object>.
Пример
Элемент Code следующего фрагмента кода показывает, как написать фрагмент кода Visual C#, который создает SqlDataAdapter. На литерал и объект, заданные в элементе Declarations, имеются ссылки в элементе Code по значению их элемента ID. В данном примере ссылка на литерал имеет вид $SQL$, а ссылка на объект имеет вид $Connection$.
<CodeSnippets xmlns="https://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>Create a data adapter</Title>
<Description>Creates a SqlDataAdapter object.</Description>
<Author>Microsoft Corporation</Author>
<Shortcut>createadapter</Shortcut>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>SQL</ID>
<ToolTip>Replace with a SQL connection string.</ToolTip>
<Default>"SQL connection string"</Default>
</Literal>
<Object>
<ID>Connection</ID>
<Type>System.Data.SqlClient.SqlConnection</Type>
<ToolTip>Replace with a connection object in your application.</ToolTip>
<Default>dcConnection</Default>
</Object>
</Declarations>
<Code Language="CSharp">
<![CDATA[
daCustomers = new SqlClient.SqlDataAdapter();
selectCommand = new SqlClient.SqlCommand($SQL$);
daCustomers.SelectCommand = selectCommand;
daCustomers.SelectCommand.Connection = $Connection$;
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>