【问题标题】:Visual Studio Snippets - Blank LineVisual Studio 代码段 - 空行
【发布时间】:2016-01-12 20:45:54
【问题描述】:

我正在尝试创建一个 Visual Studio sn-p,但无法让它基本上添加一个空行。请参阅下面的示例:

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
    xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">

  <CodeSnippet Format="1.1.0">
    <Header>
      <Title>Bootstrap Row</Title>
      <Shortcut>brow</Shortcut>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
        <SnippetType>SurroundsWith</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Code Language="HTML"><![CDATA[<div class="row">
        $selected$$end$
</div>]]>
       </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

我想要得到的是:

<div class="row">
    CursorHere
</div>

我实际上得到的是:

<div class="row">
CursorHere</div>

有什么提示或技巧可以让我做我正在尝试的事情吗?

谢谢!

【问题讨论】:

  • 我已经在 VS2015 中测试了你的 sn-p。它将/div&gt; 放在我的下一行,但它也会删除CursorHere 文本!看起来 html sn-ps 中有什么东西坏了。
  • cursorHere 实际上不应该显示为文本,只是将光标放在此处,这个 sn-p 只是将
    放在光标旁边的位置,并忽略 $end 所在的空行$ 是。它快把我逼疯了!我想输入一个快捷方式单击选项卡,然后开始输入我想要的代码。现在我必须在其中放置一个字符,例如 $selected$$end$b 如果我有 b ,它会按照我的意愿进行操作,但只需点击退格键或删除以删除 b 然后开始输入。跨度>

标签: visual-studio visual-studio-2012 visual-studio-2015 code-snippets


【解决方案1】:

CDATA 块中的 ]] 之前插入 $end$。完整规范:https://docs.microsoft.com/en-us/visualstudio/ide/code-snippets-schema-reference?view=vs-2019#code

通过告诉 VS 在插入 sn-p 后它应该将光标放在哪里,您可以阻止新行并将光标放在插入的代码之前。

【讨论】:

    【解决方案2】:

    这是我尝试过的一件事,它奏效了,但不确定是否还有更好的方法!

    我基本上在 sn-p 中添加了一个文字,只是给它一个默认的“代码”,所以它可以按照我的意愿工作,我可以开始输入以覆盖我真正想要的内容。

    这里是:

    <?xml version="1.0" encoding="utf-8"?>
    <CodeSnippets
        xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    
      <CodeSnippet Format="1.1.0">
        <Header>
          <Title>Bootstrap Row</Title>
          <Shortcut>brow</Shortcut>
          <SnippetTypes>
            <SnippetType>Expansion</SnippetType>
            <SnippetType>SurroundsWith</SnippetType>
          </SnippetTypes>
        </Header>
        <Snippet>
          <Declarations>
            <Literal>
              <ID>classes</ID>
              <ToolTip>Add Addition Classes</ToolTip>
              <Default></Default>
            </Literal>
    
            <Literal>
              <ID>text</ID>
              <ToolTip></ToolTip>
              <Default>code</Default>
            </Literal>
          </Declarations>
          <Code Language="HTML"><![CDATA[<div class="row $classes$">
                                                $selected$$text$$end$
                                        </div>]]>
          </Code>
        </Snippet>
      </CodeSnippet>
    </CodeSnippets>
    

    输出:

    <div class="row ">
        code
    </div>
    

    就像我说的,上面的代码已经被选中,所以你可以直接开始输入而不必删除。

    谢谢

    【讨论】:

      猜你喜欢
      • 2016-02-20
      • 1970-01-01
      • 2020-09-07
      • 2016-11-17
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 2015-11-14
      相关资源
      最近更新 更多