Ярлык фрагмента кода VS2010 не отображается - PullRequest
13 голосов
/ 20 апреля 2011

Я создал фрагмент кода в VS2010.Это не отображается как ярлык, когда я начинаю печатать.Я назвал его propnch.

Он доступен, когда я использую Ctrl-K, Ctrk-X, но когда я только начинаю набирать prop ... он не отображается как опция.

Я где-то пропустил какую-то настройку?

У меня были снимки экрана, но я не думаю, что ТАК позволяет вам загружать их.

Редактировать: Снимки экрана

Я вижу мой фрагмент с помощью Ctrl-K, Ctrl-X (он становится серым, когда я нажимаю Ctrl-PrtScn, чтобы сделать снимок экрана)

enter image description here

Но это не такне отображаются с другими ярлыками фрагментов.

enter image description here

Код фрагмента приведен здесь (взят из этого руководства ) и находится в папке «Documents \ Visual Studio».2010 \ Папка «Фрагменты кода» \ Visual C # \ «Фрагменты моего кода».

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
    <Header>
        <Title>propnch</Title>
        <Shortcut>propnch</Shortcut>
        <Description>Code snippet for property and backing field and ensure 
  that it invokes INotifyPropertyChanigng and INotifyPropertyChanged</Description>
        <Author>Abhishek</Author>
        <SnippetTypes>
            <SnippetType>Expansion</SnippetType>
        </SnippetTypes>
    </Header>
    <Snippet>
        <Declarations>
            <Literal>
                <ID>type</ID>
                <ToolTip>Property type</ToolTip>
                <Default>int</Default>
            </Literal>
            <Literal>
                <ID>property</ID>
                <ToolTip>Property name</ToolTip>
                <Default>MyProperty</Default>
            </Literal>
            <Literal>
                <ID>field</ID>
                <ToolTip>The variable backing this property</ToolTip>
                <Default>myVar</Default>
            </Literal>
        </Declarations>
        <Code Language="csharp"><![CDATA[

private $type$ $field$;

public $type$ $property$
{
    get 
    { 
        return $field$;
    }
    set 
    { 
        this.OnPropertyChanging("$property$");
        $field$ = value;
        this.OnPropertyChanged("$property$");
    }
}
$end$]]>
        </Code>
    </Snippet>
</CodeSnippet>

Ответы [ 7 ]

6 голосов
/ 10 сентября 2012

Оказывается, это недостаток дизайна для редактора xml в VS2010. В редакторе C # вы просто набираете ярлык и нажимаете «Tab». В редакторе xml требуется еще два нажатия клавиш.

Цитировать из документации:

To insert snippets using the shortcut name
    1. Position the cursor where you want to insert the XML snippet.
    2. Type < in the editor pane.
    3. Press ESC to close the IntelliSense complete word list.
    4. Type the shortcut name of the snippet, and press TAB to invoke the XML snippet.
4 голосов
/ 27 июня 2012

Согласно скриншотам, у вас установлен ReSharper, который переопределяет поведение VS IntelliSense. Вы можете либо отключить переопределение Resharper, либо просто добавить прямо в него новый LiveTemplate. Подробнее здесь:

http://www.jetbrains.com/resharper/webhelp/Templates__Applying_Templates__Inserting_Imported_Code_Snippets.html

В моем случае я только что добавил новый шаблон ReSharper:

private $type$ _$loweredProperty$;

public $type$ $property$
{
    get { return _$loweredProperty$;}
    set 
    {
        if (_$loweredProperty$ == value) return;
        _$loweredProperty$ = value;
        OnPropertyChanged("$property$");
    }
}

и это работает даже лучше: вам нужно ввести только два слова - тип и имя свойства . Вспомогательное поле появится с опущенной первой буквой. Вы должны установить "$ loweredProperty $" для нередактируемых макросов и указать для него значение $ property $. Это всего лишь пара кликов в редакторе шаблонов.

0 голосов
/ 29 июня 2016

Если это фрагменты для языка XML, его нужно поместить в следующий каталог

C: \ Users \% user% \ Documents \ Visual Studio 2015 \ Фрагменты кода \ XML \ My Xml Snippets \

Для добавления одного из них в ваш документ вы должны вызвать контекстное меню фрагмента с помощью сочетаний клавиш Ctrl + K, Ctrl + X.Ваши фрагменты будут в «My Xml Snippets»

0 голосов
/ 22 июня 2016

Это может быть немного поздно, но если вы отлаживаете программу, CTRL K + CTRL X не будет работать. Прекратите отладку вашей программы и попробуйте снова. у меня это работало в VS 2013 и без Resharper.

0 голосов
/ 12 мая 2016

Зайдите в Расширения и обновления Visual Studio, а затем щелкните вкладку Онлайн , а затем введите тип поиска Bootstrap .

Установите следующееПакеты для включения intellisense

  1. Butstrap Bundle
  2. Bootstrap Snippet Pack
0 голосов
/ 05 января 2013

CTRL + K + X

или Правый клик на кодовой странице покажет вам фрагмент

щелкните правой кнопкой мыши и запустите intellisense в Visualstudio

0 голосов
/ 14 мая 2011

Слишком много времени, чтобы понять, но все просто: вам не хватало </CodeSnippets> в конце.

...