首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Visual Studio 2010中创建“surround with”类型的代码段?

如何在Visual Studio 2010中创建“surround with”类型的代码段?
EN

Stack Overflow用户
提问于 2011-05-06 00:49:47
回答 4查看 17.4K关注 0票数 43

有没有办法在visual studio 2010中创建一个“环绕”代码段呢?我知道如何创建替换类型的代码片段。一个简单的带代码段的环绕可以用asp:hyperlink包围一个文本块。类似于默认的“surround with”代码段可以用asp:panel包围代码块的方式。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-06 01:24:44

请看一下creating snippets上的MSDN文章。这应该会给你一个好的开始。创建代码段时,请确保为其提供SurroundsWith的SnippetType,以使代码段环绕选定的代码。

对于最新的Visual Studio (目前是2017),除了Walkthrough: Creating a Code Snippet,还有Code Snippets on Microsoft Docs

票数 28
EN

Stack Overflow用户

发布于 2011-10-19 06:39:42

事实证明,有一些预定义的ID没有很好的文档记录。对于SurroundWith类型的代码段,有一个ID $selected$。因此,例如,#if代码片段是:

代码语言:javascript
复制
...
<Code Language="csharp">
    <![CDATA[#if $expression$ $selected$ $end$ #endif]]>
</Code>
...

$end$ ID指示环绕功能完成时光标的放置位置。这真的是所有的事情了。当然,请记住将SurroundsWith作为SnippetType包含在内

有关更多示例,请尝试查看C:\Program Files\Microsoft Visual Studio10.0\Snippet\1033中的预定义代码段。

票数 43
EN

Stack Overflow用户

发布于 2017-09-28 17:19:29

关于VS2017的示例和一些建议(基于前面的答案):

该示例是针对XML片段的,但我猜测这或多或少适用于任何语言。

XML将下面的代码粘贴到一个文件中,并保存为example.snippet

  • from VS do Tools->代码段管理器,选择
  1. ,然后选择My XML Snippet
  2. 单击导入并选择example.snippet。
  3. 单击“Finish”和“OK
  4. ”,此时我重新启动了VS,但这些苛刻的措施可能不会重复。
  5. 在XML文件中选择要用para tags.
  6. Ctrl+K,Ctrl+S括起来的文本,选择“My XML
  7. ”,然后选择"Example of a SurroundWith Snippet“。

一个标签将被放置在文本之前和之后。

如果包含一个尾随的换行符,则在文本之后会出现一个额外的空行,并且结束标记后面的文本将出现在与结束标记相同的行上。如果你仔细想想,这是有道理的。

如果在一行中只选择了文本的一部分,那么您可能会也可能得不到所需的内容。代码片段可能需要调整。

代码语言:javascript
复制
<?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中代码片段行为的评论,只说这种实现对于现代微软工具团队来说是不寻常的。尤其要注意有关快捷键功能的声明。据我所知,他们没有做任何有用的事情。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5901366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档