VS2010代码片段快捷方式未显示

时间:2011-04-20 16:49:36

标签: visual-studio-2010 code-snippets

我在VS2010中创建了一个代码片段。当我开始输入时,它没有显示为快捷方式。我把它称为祸害。

当我使用Ctrl-K,Ctrk-X时可以使用它,但是当我刚开始键入prop时...它没有显示为选项。

我错过了某种设置吗?

我有屏幕截图,但我认为SO不允许你上传任何内容。

编辑:屏幕截图

我可以通过Ctrl-K,Ctrl-X看到我的代码片段(当我按Ctrl-PrtScn截取屏幕时,它会变灰)

enter image description here

但它与其他代码段快捷方式不一致。

enter image description here

代码段位于此处(取自this tutorial),位于“Documents \ Visual Studio 2010 \ Code Snippets \ Visual C#\ 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>

7 个答案:

答案 0 :(得分:6)

事实证明这是VS2010中xml编辑器的设计缺陷。在C#编辑器中,只需输入快捷方式并按“标签”即可。在xml编辑器中,它需要再进行两次击键。

To quote from the documentation:

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.

答案 1 :(得分:4)

根据屏幕截图,您安装了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$");
    }
}

并且它的效果更好:您只需键入两个单词 - 类型和属性名称。支持字段将以较低的首字母显示。您必须将“$ loweringProperty $”设置为不可编辑的宏并将其指向$ property $。这只是模板编辑器中的几次点击。

答案 2 :(得分:0)

要实现这一点,但这很简单:你最后错过了</CodeSnippets>

答案 3 :(得分:0)

CTRL + K + X

或 右键单击代码页将显示代码段

右键单击并在Visualstudio中启动intellisense

答案 4 :(得分:0)

进入Visual Studio的扩展和更新,然后点击在线标签,然后在搜索中输入引导程序

安装以下Pack以启用intellisense

  1. Bootstrap Bundle
  2. Bootstrap Snippet Pack

答案 5 :(得分:0)

这可能会有点晚,但如果你正在调试程序,CTRL K + CTRL X将无效。停止调试程序并再次尝试。它在VS 2013中为我工作,没有Resharper。

答案 6 :(得分:0)

如果它是XML语言的片段,则必须放在下一个目录

C:\ Users \%user%\ Documents \ Visual Studio 2015 \ Code Snippets \ XML \ My Xml Snippets \

要将其中一个添加到文档中,您必须通过以下方式调用代码段上下文菜单 ctrl + K,ctrl + X. 您的代码段将位于“我的Xml代码段”