Как обернуть выделение тегом HTML в Visual Studio?

Это кажется самым основным вопросом в мире, но будь я проклят, если смогу найти ответ.

есть ли сочетание клавиш, родное для Visual Studio или через Code Rush или другой сторонний плагин, чтобы обернуть текущий выбор тегом HTML? Я устал от ввода открывающего тега, вырезания неуместного закрывающего тега в буфер обмена, перемещения курсора и вставки его в конец, где он принадлежит.

обновление: это как Текст. сообщ ручки вокруг выбора с помощью тега. Честно говоря, я потрясен тем, что Visual Studio, похоже, не имеет подобной функции. Создание макроса или фрагмента для каждого мыслимого тега, который я могу использовать, кажется абсурдным.

8 ответов


Visual Studio 2015 поставляется с новым ярлыком, Shift+Alt+W обертывает текущий выбор с помощью div. Этот ярлык оставляет текст" div " выбранным, что делает его легко изменяемым на любой желаемый тег. Это соединено с автоматической заменой бирки конца делает для быстрого разрешения.

обновление

этот ярлык также доступен в Visual Studio 2017, но вы должны иметь "ASP.NET и веб-разработка" рабочая нагрузка установлена.

пример

Shift+Alt+W > p > Enter

я знаю, что это старый, и вы, вероятно, уже нашли ответ, но я просто хотел бы добавить ради тех, кто может не знать, что это возможно в VS 2010:

  1. выберите код, который вы хотите окружить.
  2. Do ctrl-k ctrl-s (или щелкните правой кнопкой мыши и выберите Surround with....
  3. существует множество фрагментов HTML на выбор.

вы можете создать свой собственный surroundswith фрагменты, если вы не найдете что вы ищете:

  1. клик File и нажмите кнопку New, и выберите тип файла XML.
  2. на , нажмите кнопку Save .
  3. на Save as box, выберите All Files (*.*).
  4. на

Если у вас Web Essentials установлен, вы можете используйте Shift + Alt+W окружить выделение тегом.


Ctrl-X - > Type tags - > Ctrl-V по-прежнему является самым быстрым решением, которое я видел, как упоминалось в этом ответе:https://stackoverflow.com/a/5109994/486325.


Я знаю, что это древняя тема, но, столкнувшись с проблемой, я, наконец, добрался до своего собственного, и поскольку это один из первых результатов в Google, я подумал, что люди могут найти это полезным.

на самом деле это было довольно легко, я просто скопировал из существующего фрагмента 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>

столкнувшись с этой ситуацией, я часто сначала набираю закрывающий тег, а затем открывающий тег. Это предотвращает "помощь" IDE, вставляя закрывающий тег, где я этого не хочу. Я также заинтересован в лучшем решении.


для тех, кто использует Visual Studio 2017: щелкните правой кнопкой мыши на html/cshtml область или выберите некоторые элементы для обертывания, есть Wrap With <div> кнопка в списке. enter image description here


ничего я не знаю, но писать макрос, чтобы обернуть его в любой тег, который вы хотите, не должно быть сложно. У меня есть аналогичный, который обернет мой выбор в блок региона.