我在VS2010中创建了一个代码片段。当我开始输入时,它没有显示为快捷方式。我把它称为祸害。
当我使用Ctrl-K,Ctrk-X时可以使用它,但是当我刚开始键入prop时...它没有显示为选项。
我错过了某种设置吗?
我有屏幕截图,但我认为SO不允许你上传任何内容。
编辑:屏幕截图
我可以通过Ctrl-K,Ctrl-X看到我的代码片段(当我按Ctrl-PrtScn截取屏幕时,它会变灰)
但它与其他代码段快捷方式不一致。
代码段位于此处(取自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>
答案 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。更多细节在这里:
就我而言,我刚刚添加了一个新的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
答案 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代码段”
中