关闭括号后,可直接插入VS代码片段

时间:2019-04-30 08:27:35

标签: visual-studio code-snippets

最近我一直在开发大量异步代码,并遵循一般建议,我正在实现异步库代码,以便它们在等待的任务上调用.ConfigureAwait(false);。我敢肯定,任何曾经做过此事的人都可以与它的重复性有关,所以我让自己开始研究自己的代码段,以便可以通过几次按键操作将其半自动化。

我想出的一切就变得很简单,但是不幸的是,Visual Studio不允许我按我期望的那样使用它。这是我的代码段:

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>ConfigureAwait(false) call</Title>
            <Shortcut>caf</Shortcut>
        </Header>
        <Snippet>
            <Code Language="CSharp">
                <![CDATA[.ConfigureAwait(false);$end$]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

当我尝试将其插入(例如)一个空的方法主体时,或在任何“完成的”代码段之后(例如在其末尾带有;的赋值),它都会正确扩展,但是当我尝试将其插入实际上有意义的位置时,例如未完成的异步方法调用,如下所示:

await MyMethodAsync()/* would type "caf" and tab-tab" */

然后什么也没有发生。在此位置出现时,IntelliSense弹出窗口也不会列出任何其他代码段,因此我强烈怀疑VS只是未编码为在某些词法上下文(如此)中支持代码段。但是,这只是一个假设-有人可以确认这是否可能吗?

0 个答案:

没有答案