intellisense中的自定义代码片段

时间:2010-10-18 04:39:57

标签: c# visual-studio visual-studio-2010 resharper code-snippets

我已经开始将一些常用的代码块导出到自定义代码段。 有没有办法让这些内容显示在IntelliSense中,而不必使用上下文菜单或代码段管理器中的代码段浏览器?

起初,我认为这与ReSharper有关,但是当我禁用ReSharper IntelliSense时它们仍然没有出现。

能够只使用代码段快捷方式而不是使用浏览器会很好。

4 个答案:

答案 0 :(得分:9)

您需要将ShortCut属性设置为<Shortcut>slpropdp</Shortcut>。学习编辑的最佳方法是,只需检查任何已有的代码片段。通过,转到工具 - &gt;代码段管理器。选择任何代码段,代码段的位置将位于顶部位置栏

答案 1 :(得分:4)

如果您仍然没有看到快捷方式,但是您有ReSharper,请检查Resharper&gt;选项&gt; IntelliSense&gt;一般。如果选择了ReSharper单选按钮,则不会出现在VS [快捷方式]中创建的智能感知。将其更改为Visual Studio,或者在ReSharper中创建intellisense

答案 2 :(得分:0)

以下是有关如何使用“快捷方式”标记在Visual Studio中创建自己的代码段的简要说明。

using a Code Snippet for INotifyPropertyChanged

这是获取快捷功能所需的标记。

 <Shortcut>switch</Shortcut> 

以下是switch的片段,内置于VS

<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
    <Header>
        <Title>switch</Title> 
        <Shortcut>switch</Shortcut> 
        <Description>Code snippet for switch statement</Description> 
        <Author>Microsoft Corporation</Author> 
        <SnippetTypes>
            <SnippetType>Expansion</SnippetType> 
        </SnippetTypes>
    </Header>
    <Snippet>
        <Declarations>
            <Literal>
                <ID>expression</ID> 
                <ToolTip>Expression to switch on</ToolTip> 
                <Default>switch_on</Default> 
            </Literal>
            <Literal Editable="false">
                <ID>cases</ID> 
                <Function>GenerateSwitchCases($expression$)</Function> 
                <Default>default:</Default> 
            </Literal>
        </Declarations>
        <Code Language="csharp">
            <![CDATA[
                switch ($expression$)
                {
                    $cases$
                }
            ]]>
        </Code>
    </Snippet>
</CodeSnippet>

答案 3 :(得分:-1)

我的环境是vs2017 + resharper。写完自定义后。如您所见,它不起作用。 这是我的解决方案。有两种选择。首先,您可以使用vs情报而不是reshaper的情报。 Resharper->选项->环境-> IntelliSense->常规,选择“ Visual Studio”收音机。其次,通过help在Resharper中添加实时模板或环绕模板。