有没有办法在visual studio 2010中创建'环绕声'片段?我知道如何创建替换类型的代码段。带有片段的简单环绕声可以用asp:超链接围绕一个文本块。类似于默认的'环绕'片段可以使用asp:panel包围代码块的方式。
答案 0 :(得分:32)
事实证明,有一些预定义的ID没有很好地记录。特别是对于 SurroundWith 类型代码段,有一个ID $ selected $ 。因此,例如, #if 代码段的代码为:
...
<Code Language="csharp">
<![CDATA[#if $expression$ $selected$ $end$ #endif]]>
</Code>
...
$ end $ ID表示环绕声功能完成时光标的放置位置。 这就是它的全部内容。当然,请记住将 SurroundsWith 包含为SnippetType
有关更多示例,请尝试查看C:\ Program Files \ Microsoft Visual Studio 10.0 \\ Snippets \ 1033 \中预定义的代码段。
答案 1 :(得分:26)
查看creating snippets上的MSDN文章。它应该给你一个良好的开端。在您创建代码段时,请确保为其提供SurroundsWith
的SnippetType,以使代码段环绕所选代码。
对于最新的Visual Studio(目前为2017年),有Code Snippets on Microsoft Docs以及Walkthrough: Creating a Code Snippet。
答案 2 :(得分:2)
VS2017的示例和一些建议(基于之前的答案):
该示例适用于XML代码段,但我猜测这会适用于任何语言。
A&lt; para&gt;标签将放在您的文字和&lt; / para&gt;之前后。
如果您包含一个尾随的新行,那么您将在文本后面得到一个额外的空白行,并且结束标记后面的文本与结束标记位于同一行。如果你考虑它就有意义。
如果您只选择一行中的部分文字,那么您可能会或可能不会得到您期望的内容。该片段可能需要调整。
<?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>
我将限制我关于VS2017中代码片段行为的编辑评论,说这对于现代Microsoft工具团队而言是不寻常的。特别要注意关于快捷方式的说法。据我所知,他们没有任何用处。
答案 3 :(得分:1)
来自上面有用的答案,这里是Code Snippets Schema Reference,这对于确定片段元素的有效值非常有用。