Поделиться через


Практическое руководство. Создание нового фрагмента кода с подстановочными параметрами

Иногда требуется, чтобы некоторые части фрагментов кода могли заменяться пользователем путем их вставки. Это полезно, если необходимо сослаться на определенную переменную или объект, и чтобы пользователь имел возможность заметить переменную или объект из своего проекта. Фрагменты кода IntelliSense позволяют делать это с элементами Literal и Object.

После вставки фрагмента кода все возможные объекты для замены в коде будут доступны по щелчку на заменяющем объекте и при нажатии клавиш CTRL+ПРОБЕЛ.

Создание замещающего литерала

Элемент Literal используется для определения замещающего элемента для отрывка кода, который полностью заключен во фрагмент, но скорее всего будет изменен после вставки в код. Например, строковые литералы, числовые значения и некоторые имена переменных должны объявляться как литералы.

Эта процедура предполагает, что действия, описанные в разделе Практическое руководство. Создание простого фрагмента кода, были выполнены.

Чтобы создать замещающий литерал, выполните следующие действия.

  1. Найдите элемент фрагмента кода Snippet.

  2. Добавьте элемент Declarations как дочерний элемента Snippet. Элемент Declarations используется для группирования замещающих объявлений.

  3. Добавьте элемент Literal как дочерний элемента Declarations. Элемент Literal определяет отдельный литерал. Во фрагменте кода может быть несколько замещающих литералов.

  4. Добавьте элемент ID как дочерний элемента Literal. Текстовое значение этого элемента определяет имя, которое будет использоваться для ссылки на литерал в элементе Code.

  5. Добавьте элемент Default как дочерний элемента Literal. Текстовое значение элемента Default определяет значение по умолчанию литерала при вставке фрагмента кода.

  6. По желанию можно добавить элементы Function и/или ToolTip.

Создание замещающего объекта

Элемент Object используется для определения элемента, который необходим во фрагменте кода, но скорее всего будет определен вне самого фрагмента. Например, элементы управления Windows Forms, элементы управления ASP.NET, экземпляры объектов и экземпляры типов должны быть объявлены как объекты. Для объявлений объектов необходимо указать тип.

Эта процедура предполагает, что действия, описанные в разделе Практическое руководство. Создание простого фрагмента кода, были выполнены.

Чтобы создать замещающий объект, выполните следующие действия.

  1. Найдите элемент фрагмента кода Snippet.

  2. Добавьте элемент Declarations как дочерний элемента Snippet. Элемент Declarations используется для группирования замещающих объявлений.

  3. Добавьте элемент Object как дочерний элемента Declarations. Элемент Object определяет отдельный объект. Во фрагменте кода может быть несколько замещающих объектов.

  4. Добавьте элемент ID как дочерний элемента Object. Текстовое значение этого элемента определяет имя, которое будет использоваться для ссылки на объект в элементе Code.

  5. Добавьте элемент Type как дочерний элемента Object. Текстовое значение элемента Default определяет тип объекта.

  6. Добавьте элемент Default как дочерний элемента Object. Текстовое значение элемента Default определяет значение по умолчанию объекта при вставке фрагмента кода.

  7. По желанию можно добавить элементы Function и/или ToolTip.

Ссылки на замещающие элементы

Теперь, когда литералы и объекты созданы, их необходимо каким-то образом использовать в коде, который будет вставляться фрагментом кода. Для создания ссылки на литералы и объекты, объявленные в элементе Declarations, в начале и конце значения в элементе литерала или объекта ID необходимо поставить знак $.

Чтобы создать ссылку на литерал или объект в элементе кода, выполните следующие действия.

  • В начале и в конце значения элемента литерала или объекта ID поставьте знак $. Например, если литерал содержит элемент ID со значением MyID, то для ссылки на этот литерал в элементе Code значение должно иметь вид $MyID$.

Пример

В следующем примере кода показан фрагмент кода с элементами Literal и Object. Для ссылки на литерал SqlConnString в элементе Code используется значение $SqlConnString$, а для ссылки на объект SqlConnection — $SqlConnection$.

<CodeSnippets xmlns="https://schemas.microsoft.com/VisualStudio/CodeSnippet">
    <CodeSnippet>
        <Header>

            <!-- Add Header information here -->

        </Header>
        <Snippet>

            <!-- Add additional Snippet information here -->

            <Declarations>
                <Literal>
                    <ID>SqlConnString</ID>
                    <ToolTip>Replace with a SQL connection string.</ToolTip>
                    <Default>"SQL connection string"</Default>
                </Literal>
                <Object>
                    <ID>SqlConnection</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($SqlConnString$);
                    daCustomers.SelectCommand = selectCommand;
                    daCustomers.SelectCommand.Connection = $SqlConnection$;
                ]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

См. также

Задачи

Практическое руководство. Создание простого фрагмента кода

Ссылки

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

Элемент Объявления (фрагменты кода IntelliSense)

Элемент Object (фрагменты кода IntelliSense)

Элемент Literal (фрагменты кода IntelliSense)

Элемент ID (фрагменты кода IntelliSense)

Элемент Type (фрагменты кода IntelliSense)

Элемент ToolTip (фрагменты кода IntelliSense)

Элемент Function (фрагменты кода IntelliSense)

Элемент Default (фрагменты кода IntelliSense)