Fiv*_*ols 37 c# visual-studio-2010 code-snippets
有没有办法在visual studio 2010中创建"环绕声"片段?我知道如何创建替换类型的代码段.带有片段的简单环绕声可以用asp:超链接围绕一段文本.类似于默认的'surround with'片段可以用asp:panel包围代码块的方式.
小智 35
事实证明,有一些预定义的ID没有很好地记录.特别是对于SurroundWith类型片段,有一个ID $选择$.因此,例如,#if片段的代码是:
...
<Code Language="csharp">
<![CDATA[#if $expression$ $selected$ $end$ #endif]]>
</Code>
...
Run Code Online (Sandbox Code Playgroud)
在$结束$ ID指示在何处将光标置于环绕声功能完成时.这就是它的全部内容.当然,请记住将SurroundsWith包含为SnippetType
有关更多示例,请尝试查看C:\ Program Files\Microsoft Visual Studio 10.0 \\ Snippets\1033 \中的预定义代码段.
Mat*_*ira 26
查看有关创建代码段的MSDN文章.它应该给你一个良好的开端.在创建代码段时,请务必为其创建一个SnippetType,SurroundsWith
以使代码段环绕所选代码.
对于最新的Visual Studio(目前是2017年),Microsoft Docs上有代码片段,以及演练:创建代码片段.
VS2017 的示例和一些建议(基于之前的答案):
该示例适用于 XML 片段,但我猜这或多或少适用于任何语言。
<para> 标签将放置在您的文本之前和 </para> 之后。
如果包含尾随新行,则在文本之后会出现一个额外的空行,并且结束标记后面的文本与结束标记位于同一行。如果你考虑一下,这是有道理的。
如果您只选择一行中的部分文本,那么您可能会也可能不会得到您所期望的。片段可能需要调整。
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>Example of a SurroundsWith snippet</Title>
<Shortcut>shortcutsdontwork</Shortcut>
<Description>
complete example of SurroundsWith
will put para tag on the line above selected text
and /para end tag on the line below selected text
will positon the cursor immediately after the
closing angle bracket of the end tag
</Description>
<Author>mikedamay - TheDisappointedProgrammer</Author>
<SnippetTypes>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Code Language="XML">
<![CDATA[<para>
$selected$
</para>$end$]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
Run Code Online (Sandbox Code Playgroud)
我将我对 VS2017 中代码片段行为的编辑评论限制为说该实现对于现代 Microsoft 工具团队来说是不寻常的。尤其要注意有关快捷方式功能的声明。据我所知,他们没有做任何有用的事情。