Visual Studio 自定义代码片段在方法定义的参数列表中不起作用

Posted

技术标签:

【中文标题】Visual Studio 自定义代码片段在方法定义的参数列表中不起作用【英文标题】:Visual studio custom code snippet not working in parameter list in method definition 【发布时间】:2020-06-28 22:41:53 【问题描述】:

我已经实现了一个自定义代码 sn-p(用于 Visual Studio)(code snippets)。

我的问题是我在方法定义的参数列表中无法使用这段代码sn-p

这里是自定义代码sn-p:

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>XXX</Title>
      <Author>XXX</Author>
      <Description>XXX</Description>
      <Shortcut>tmtr</Shortcut>
    </Header>
    <Snippet>
      <Code Language="CSharp" Kind="method body/method decl/type decl/page/file/any">
        <![CDATA[string out]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

例如这里

public void myMethod(string in, /*tmtr does not work here when I press tab So the desired code is not displayed*/)

    // 

我尝试了所有Kind 值,但没有一个解决问题

有什么想法吗?

【问题讨论】:

我导入了这个 sn-p,它的工作方式完全符合我的预期……也就是说,您不能将参数命名为“in”或“out”——这些是关键字。那是你的问题吗? (或者你的意思是“in string”和“out string”?) 这在方法定义的参数列表中是否也有效?我也使用 in 和 out 仅作为 *** 的示例。 【参考方案1】:

键入“tmtr”后,需要按两次 Tab,Visual Basic 一次,C# 两次。你可以参考这个官方文档:Description and shortcut fields(Walkthrough: Create a code sn-p),第7步提到了这个。

如果这仍然不起作用,不确定您是否错过了一些创建 sn-p 的步骤,请在下面follow/check the steps。

    新建一个 XML 并在 VS 中添加模板。

    将 sn-p 保存为 XXX.sn-p。

    从工具 > 代码片段管理器打开代码片段管理器。

    点击导入按钮,浏览上一步保存代码sn-p的位置,选中并点击打开。

    在 Import Code Snippet 对话框中,您可以选择 My Code Snippets,选择它并单击 Finish,然后单击 OK。

    然后您可以通过键入“tmtr”并按两次 Tab 来测试它。

【讨论】:

感谢您的帮助。实际上,我只需要按一次标签,而不是两次,这很有效,例如在方法体中,但不在方法定义中的参数列表中

以上是关于Visual Studio 自定义代码片段在方法定义的参数列表中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2017 中自定义折叠

求助visual studio2013怎么设置参考线,以及怎么自定义代码配色

获取一个文件的名称方法 - 自定义界面 - Microsoft Visual Studio 2010 [关闭]

visual studio 和visual studio code 的区别

代码编辑器——Visual Studio Code

Visual Studio 2012-2019的130多个jQuery代码片段。