Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 如何在VisualStudio中使用HTML标记包装选择?_Visual Studio - Fatal编程技术网

Visual studio 如何在VisualStudio中使用HTML标记包装选择?

Visual studio 如何在VisualStudio中使用HTML标记包装选择?,visual-studio,Visual Studio,这似乎是世界上最基本的问题,但如果我能找到答案,那就太糟糕了 是否有VisualStudio自带的或通过Code Rush或其他第三方插件的键盘快捷键,可以用HTML标记包装当前选择?我已经厌倦了键入开始标记,将放错位置的结束标记剪切到剪贴板,移动光标,并将其粘贴到它所属的末尾 更新:。坦率地说,VisualStudio似乎没有类似的功能,这让我感到震惊。为我可能想使用的每个标记创建宏或代码片段似乎很荒谬。面对这种情况,我通常先键入结束标记,然后键入开始标记。这可以通过在我不需要的地方插入结束标

这似乎是世界上最基本的问题,但如果我能找到答案,那就太糟糕了

是否有VisualStudio自带的或通过Code Rush或其他第三方插件的键盘快捷键,可以用HTML标记包装当前选择?我已经厌倦了键入开始标记,将放错位置的结束标记剪切到剪贴板,移动光标,并将其粘贴到它所属的末尾


更新:。坦率地说,VisualStudio似乎没有类似的功能,这让我感到震惊。为我可能想使用的每个标记创建宏或代码片段似乎很荒谬。

面对这种情况,我通常先键入结束标记,然后键入开始标记。这可以通过在我不需要的地方插入结束标记来防止IDE“帮助”。不过,我也对更好的解决方案感兴趣。

我什么都不知道,但是编写一个宏来将它封装在您想要的任何标记中应该不难。我有一个类似的选项,它将我的选择包装在一个区域块中。

我知道这很旧,您现在可能已经找到了答案,但为了那些可能不知道的人,我想补充一下,这在VS 2010中是可能的:

  • 选择要环绕的代码
  • 执行
    ctrl-k
    ctrl-s
    (或右键单击并选择
    环绕…
  • 有多种HTML代码段可供选择
  • 如果找不到要查找的内容,可以使用代码段创建自己的周围环境:

  • 单击
    文件
    ,然后单击
    新建
    ,然后选择
    XML
    的文件类型
  • 文件
    菜单上,单击
    保存
  • 另存为
    框中,选择
    所有文件(*.*)
  • 文件名
    框中,输入扩展名为
    .snippet
    的文件名
  • 单击
    保存
  • 在XML文件中输入类似以下示例的内容:

    <CodeSnippet Format="1.1.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
      <Header>
        <Title>ul-div</Title>
        <Author>Microsoft Corporation</Author>
        <Shortcut>ul>li</Shortcut>
        <Description>Wrap in a ul and then an li</Description>
        <SnippetTypes>
          <SnippetType>Expansion</SnippetType>
          <SnippetType>SurroundsWith</SnippetType>
        </SnippetTypes>
      </Header>
      <Snippet>
        <Declarations>
          <Literal>
            <ID>selected</ID>
            <ToolTip>content</ToolTip>
            <Default>content</Default>
          </Literal>
        </Declarations>
        <Code Language="html"><![CDATA[<ul><li>$selected$</li></ul>$end$]]></Code>
      </Snippet>
    </CodeSnippet>
    
    
    联邦调查司
    微软公司
    ul>li
    先包上ul,然后再包上li
    膨胀
    周边地区
    挑选出来的
    内容
    内容
    
  • $selected$
  • $end$]>
  • 打开
    工具
    代码段管理器
  • 单击
    Import
    并浏览到刚才创建的代码段
  • 检查
    My HTML Snippets
    并单击
    Finish
    ,然后单击
    OK

  • 然后,你就可以使用闪亮的新HTML代码片段来包装内容了!

    我知道这是一条古老的线索,但遇到了这个问题,我终于有时间制作自己的,因为这是谷歌的首批结果之一,我想人们可能会觉得这很有用

    实际上,这很简单,我只是从一个现有的HTML片段中复制并移动文本。下面的片段将围绕一个通用HTML标记,它提示输入标记,并将其放入开始和结束标记中

    <CodeSnippet Format="1.1.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
      <!-- Generic HTML Snippet -->
      <Header>
        <Title>Html</Title>
        <Author>Liam Slater</Author>
        <Shortcut>h</Shortcut>
        <Description>Markup snippet for HTML</Description>
        <SnippetTypes>
          <SnippetType>SurroundsWith</SnippetType>
        </SnippetTypes>
      </Header>
      <Snippet>
        <Declarations>
          <Literal>
            <ID>tag</ID>
            <ToolTip>tag</ToolTip>
            <Default></Default>
          </Literal>
          <Literal>
            <ID>selected</ID>
            <ToolTip>content</ToolTip>
            <Default>content</Default>
          </Literal>
        </Declarations>
        <Code Language="html"><![CDATA[<$tag$>$selected$</$tag$>$end$]]></Code>
      </Snippet>
    </CodeSnippet>
    
    
    Html
    利亚姆·斯莱特
    H
    HTML的标记片段
    周边地区
    标签
    标签
    挑选出来的
    内容
    内容
    $selected$$end$]>
    
    Ctrl-X->Type tags->Ctrl-V仍然是我见过的最快的解决方案,正如我在回答中提到的:。

    如果您已经安装了,您可以使用标签来包围一个选择。

    Visual Studio 2015提供了一个新的快捷方式Shift+Alt+W,该快捷方式使用div来包装当前选择。该快捷方式保留文本“div”选择,使其无缝地可更改为任何所需的标签。这与自动结束标签更换相结合,使快速解决方案

    更新 此快捷方式在Visual Studio 2017中也可用,但必须安装“ASP.NET和Web开发”工作负载

    例子
    对于使用Visual Studio 2017的用户:右键单击
    html
    /
    cshtml
    区域,或选择一些要包装的元素,列表上有一个
    wrap With
    按钮。

    我知道这是一个老问题,但我也在努力解决同样的问题。你可以安装Andrés Gutiérrez的Emmet Keybindings扩展。一旦安装,你可以突出显示文本,然后使用control+MW用你想要的任何标记进行包装。要给每行一行一个开始和结束标记,在标记后包括一个*。

    你可以编写mac这样,它会提示您使用标记来包装所选内容。如果您愿意,我可以将我的宏挖出来?有人找到了这样做的方法吗?当您说“单击XML文件,然后单击“打开”时你是什么意思?单击什么xml文件?这是一个很好的提示!你知道反过来吗?如何删除周围的标记?@User…我正在修复它。它不应该说“单击xml文件…”,而应该说“单击文件…”.这是可行的,但它不完全是一条捷径,更像是一条捷径longcut@AlanSutherland第一次设置时,是的。一旦设置完毕,只需ctrl-k ctrl-s并选择模板即可。+1.对于这样一个简单的功能来说,这是多么复杂,真是令人惊讶。几乎8年后,我仍在使用相同的功能。关于这一点,值得一提的是您只需要突出显示标记,甚至只需要将光标放在标记内。无需显式选择文本。在VS2017中仍然适用。在VS2017中不适用于我。我认为这只适用于您有web essentials的情况。@RayLoveless ctrl-k ctrl-s确实适用于我,让我用一个片段围绕。但是您的选择必须来自snippet列表(无div)和代码片段提供了额外的字段供编辑,这些字段会破坏上述工作流程。有人可能会主张自定义代码片段,但我更喜欢开箱即用的解决方案!@WildJoe您打开了什么类型的文件?如果碰巧是xml或xaml文件,我不确定这是否可行,
    Shift+Alt+W > p > Enter