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 studio2013怎么设置参考线,以及怎么自定义代码配色
获取一个文件的名称方法 - 自定义界面 - Microsoft Visual Studio 2010 [关闭]