如何在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中可能的人添加这个答案。
- select你想要包围的代码。
- 按
ctrl-k
ctrl-s
(或右键单击并selectSurround with...
- 有各种各样的HTML片段可供select。
如果您找不到要查找的内容,则可以创build自己的SurroundsWith片段:
- 单击
File
,然后单击New
,然后select一种文件types的XML
。 - 在
File
菜单上,单击Save
。 - 在
Save as
框中,selectAll Files (*.*)
。 - 在“
File name
框中,input带.snippet
文件扩展名的文件名。 - 点击
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>
- 打开
Tools
>Code Snippets Manager
。 - 点击
Import
并浏览到您刚创build的代码片段。 - 检查
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。