VS2010 Ярлык фрагмента кода не отображается

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

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

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

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

Изменить: Экранные снимки

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

enter image description here

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

enter image description here

Код фрагмента находится здесь (взято из этот учебник) и находится в "Документах/Visual Studio 2010\Code Snippets\Visual С# My Code Snippets".

<?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>

Ответ 1

Оказывается, это недостаток дизайна для редактора xml в VS2010. В редакторе С# просто введите ярлык и нажмите "вкладка". В редакторе 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.

Ответ 2

Согласно снимкам экрана, у вас установлен 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 $. Это всего лишь несколько кликов в редакторе шаблонов.

Ответ 3

Слишком секунд, чтобы реализовать, но это просто: в конце вы отсутствовали </CodeSnippets>.

Ответ 4

CTRL + K + X

или Щелкните правой кнопкой мыши на кодовой странице, показывая вам фрагмент

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

Ответ 5

Перейдите в Расширения и обновления для Visual Studio, а затем нажмите вкладку Онлайн, а затем в виде поиска Загрузочный.

Установите следующие пакеты, чтобы включить intellisense

  • Загрузочный пакет
  • Bootstrap Snippet Pack

Ответ 6

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

Ответ 7

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

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

Чтобы добавить один из них в свой документ, вы должны вызвать контекстное меню фрагмента ctrl + K, ctrl + X. Ваши фрагменты будут в "Мои фрагменты Xml"