Visual Studio фрагменты кода Курсор - PullRequest
52 голосов
/ 20 января 2010

В Visual Studio, когда вы вставляете фрагмент и заканчиваете вставлять литералы, курсор переходит на начало фрагмента.

Теперь я бы хотел сказать Visual Studio, куда следует направить курсор. Я искал в интернете и на самом деле мало надежды на то, что это станет возможным.

Для иллюстрации предположим, что у меня есть этот фрагмент:

<Code Language="csharp" Kind="method body" Delimiter="$"><![CDATA[this.SyncThreadRunInvoke(() =>
            {

            });]]>
    </Code>

Затем после вставки:

this.SyncThreadRunInvoke(() =>
            {
            []<- I want the cursor here
            });

1 Ответ

80 голосов
/ 20 января 2010

Используйте переменную $ end $, как показано в следующем фрагменте «if» для c #.

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>if</Title>
            <Shortcut>if</Shortcut>
            <Description>Code snippet for if statement</Description>
            <Author>Microsoft Corporation</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
                <SnippetType>SurroundsWith</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>expression</ID>
                    <ToolTip>Expression to evaluate</ToolTip>
                    <Default>true</Default>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[if ($expression$)
    {
        $selected$ $end$
    }]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>
...