如何在Visual Studio中用HTML标记包装select?

这似乎是世界上最基本的问题,但如果我能find答案该死的。

是否有一个键盘快捷方式,可以是Visual Studio本地的,也可以是Code Rush或其他第三方插件,用HTML标签包装当前的select? 我厌倦了input开始标签,将错位的结束标签剪切到剪贴板,移动光标并将其粘贴到所属的末尾。

更新: 这是TextMate如何处理周围的标签select 。 坦率地说,我震惊了Visual Studio似乎没有类似的function。 为我想要使用的每一个可能的标签创build一个macros或片段似乎是荒谬的。

Visual Studio 2015带有一个新的快捷方式,Shift + Alt + W用div来包装当前的select。 这个快捷方式将文本“div”选中,使其可以无缝更改为任何所需的标签。 这与自动结束标签replace结合使用可以快速解决问题。

UPDATE

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

Shift+Alt+W > p > Enter 

我知道这已经很老了,你现在可能已经find了答案,但是我只是想为那些可能不知道VS 2010中可能的人添加这个答案。

  1. select你想要包围的代码。
  2. ctrl-k ctrl-s (或右键单击并selectSurround with...
  3. 有各种各样的HTML片段可供select。

如果您找不到要查找的内容,则可以创build自己的SurroundsWith片段:

  1. 单击File ,然后单击New ,然后select一种文件types的XML
  2. File菜单上,单击Save
  3. Save as框中,selectAll Files (*.*)
  4. 在“ File name框中,input带.snippet文件扩展名的文件名。
  5. 点击Save

在XML文件中input如下示例:

 <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> 
  1. 打开Tools > Code Snippets Manager
  2. 点击Import并浏览到您刚创build的代码片段。
  3. 检查My HTML Snippets ,然后单击Finish ,然后OK

然后,您将有shiny的新的HTML片段可用于包装的东西!

如果您安装了Web Essentials ,则可以使用Shift + Alt + W环绕带有标签的select。

Ctrl-X – >types标签 – > Ctrl-V仍然是我在这个答案中提到的最快的解决scheme: https : //stackoverflow.com/a/5109994/486325 。

我知道这是一个古老的线索,但已经提出反对这个问题,我终于得到了自己的,因为这是谷歌的第一个结果之一,我觉得人们可能会觉得这有用。

其实这很容易,我只是从现有的HTML代码片段复制,并围绕文字。 下面的代码片段将包含一个通用的HTML标签,它会提示input标签,并将其放入开始标签和结束标签中。

 <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> 

面对这种情况,我经常input结束标签,然后打开标签。 这可以防止IDE通过在不需要的位置插入结束标记来“帮助”。 不过,我也对更好的解决scheme感兴趣。

没有什么我知道的,但写一个macros来包装它,不pipe你想要的标签不应该很难。 我有一个类似的,将我的select包裹在一个区域块。

对于那些使用Visual Studio 2017的用户:右键单击一个html / cshtml区域,或者select一些要包装的元素,在列表中有一个Wrap With <div>button。 在这里输入图像说明