Visual studio 如何在VisualStudio中使用HTML标记包装选择?
这似乎是世界上最基本的问题,但如果我能找到答案,那就太糟糕了 是否有VisualStudio自带的或通过Code Rush或其他第三方插件的键盘快捷键,可以用HTML标记包装当前选择?我已经厌倦了键入开始标记,将放错位置的结束标记剪切到剪贴板,移动光标,并将其粘贴到它所属的末尾Visual studio 如何在VisualStudio中使用HTML标记包装选择?,visual-studio,Visual Studio,这似乎是世界上最基本的问题,但如果我能找到答案,那就太糟糕了 是否有VisualStudio自带的或通过Code Rush或其他第三方插件的键盘快捷键,可以用HTML标记包装当前选择?我已经厌倦了键入开始标记,将放错位置的结束标记剪切到剪贴板,移动光标,并将其粘贴到它所属的末尾 更新:。坦率地说,VisualStudio似乎没有类似的功能,这让我感到震惊。为我可能想使用的每个标记创建宏或代码片段似乎很荒谬。面对这种情况,我通常先键入结束标记,然后键入开始标记。这可以通过在我不需要的地方插入结束标
更新:。坦率地说,VisualStudio似乎没有类似的功能,这让我感到震惊。为我可能想使用的每个标记创建宏或代码片段似乎很荒谬。面对这种情况,我通常先键入结束标记,然后键入开始标记。这可以通过在我不需要的地方插入结束标记来防止IDE“帮助”。不过,我也对更好的解决方案感兴趣。我什么都不知道,但是编写一个宏来将它封装在您想要的任何标记中应该不难。我有一个类似的选项,它将我的选择包装在一个区域块中。我知道这很旧,您现在可能已经找到了答案,但为了那些可能不知道的人,我想补充一下,这在VS 2010中是可能的:
ctrl-k
ctrl-s
(或右键单击并选择环绕…
)文件
,然后单击新建
,然后选择XML
的文件类型文件
菜单上,单击保存
另存为
框中,选择所有文件(*.*)
文件名
框中,输入扩展名为.snippet
的文件名保存
<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