Как открыть ссылки в Visual Studio в моем веб-браузере, а не в Visual Studio?

136

Если в комментарии к исходному файлу есть URL, я могу нажать «CTRL + щелкнуть, чтобы перейти по ссылке». Однако, когда я делаю это, ссылка открывается внутри Visual Studio. Как я могу открыть его в своем веб-браузере - в моем случае, в Google Chrome?

xofz
источник
6
Какие-либо обновления по этому вопросу через 2,5 года? Есть ли лучший способ сейчас?
Борек Бернард
1
Принятый ответ не работает для Visual Studio 2012, поэтому открылся новый вопрос stackoverflow.com/questions/13047914/…
полковник Паник
11
Проголосуйте за это, чтобы исправить это в VS здесь .
Сэм
3
Любое обновление по этому поводу через 4 года?
Ксонатрон
2
Любое обновление по этому поводу через 6 лет? :)
monstro

Ответы:

63

Существует расширение, обеспечивающее такое поведение, которое называется « Открыть во внешнем браузере» . Он работает в Visual Studio 2012, 2013, 2015 и 2017. (Старая версия, доступная на GitHub, поддерживает Visual Studio 2010.)

Спасибо Дмитрию за то, что он указал на это в своем ответе на подобный вопрос.

РЕДАКТИРОВАТЬ: команда Visual Studio, наконец, начинает работать над внедрением этого прямо в Visual Studio. Статус этого запроса функции только что перешел из «На рассмотрении» в «Запущено».

mikesigs
источник
Спасибо, Майк! Хорошее, простое решение.
xofz
10
Спасибо за обновление Роб. Обидно, что нам все еще нужно использовать это в VS2015.
Майкисиг
1
Работает также в VS2017
Logerfo
Для всех, кто интересуется, это будет работать для Visual Studio 2019, но я надеюсь, что они просто включают его.
SharpIncTechAndProgramming
7

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

Sub OpenURLInChrome()
   'copy to end of line
   DTE.ActiveDocument.Selection.EndOfLine(True)

  'set var
   Dim url As String = DTE.ActiveDocument.Selection.Text

   'launch chrome with url
   System.Diagnostics.Process.Start( _
      Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) _
      + "\Google\Chrome\Application\chrome.exe", url)
End Sub

Просто поместите курсор перед URL и запустите макрос ...

mracoker
источник
У меня не установлен VB, но похоже, что он будет работать (если в конце строки после URL нет ничего), плюс я ненавижу иметь вопросы без ответов, поэтому помечаю как ответ. Спасибо за вашу помощь :)
xofz
2
@Sam: Вам не нужно устанавливать VB для использования макросов Visual Studio. Они просто используют один и тот же синтаксис.
Роджер Липскомб
Это то, что вы должны установить как-то?
полковник Паник
3
Оказывается, Visual Studio 2012 не поддерживает макросы, поэтому я не смог установить его. Попробуйте Emacs.
Полковник Паник
5

Это улучшение макроса, предложенного выше mracoker.

Этот макрос ищет URL в текущей строке и не захватывает текст после URL, как это делал предыдущий ответ.

Sub OpenURLInChrome()

   ' Select to end of line
   DTE.ActiveDocument.Selection.EndOfLine(True)
   Dim selection As TextSelection = DTE.ActiveDocument.Selection

   ' Find URL within selection
   Dim match = System.Text.RegularExpressions.Regex.Match( _
      selection.Text, ".*(http\S+)")

   Dim url As String = ""
   If (match.Success) Then
      If match.Groups.Count = 2 Then
         url = match.Groups(1).Value
      End If
   End If

   ' Remove selection
   selection.SwapAnchor()
   selection.Collapse()

   If (url = String.Empty) Then
       MsgBox("No URL found")
   End If

   ' Launch chrome with url
   System.Diagnostics.Process.Start( _
      Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) _
      + "\Google\Chrome\Application\chrome.exe", url)
End Sub

Использование: поместите курсор где-нибудь перед URL; Запустить макрос (я сопоставлен с Ctrl-Shift-G)

Терренс
источник
0

Обновление 2019 года: все ответы старые. В сообществе VS2019 теперь есть собственный способ сделать это:

Опции >> Веб-браузер

dylanh724
источник
Похоже, это ничего не делает для открытия кликабельных ссылок в файлах. Пробовал, не уверен, что он делает. Похоже, ничего не делать.
DarrenMB
0

Это работает для меня. Я изменил браузер по умолчанию в Windows.

Windows, поддержка

или прямая ссылка на настройки: ms-settings: defaultapps

christris
источник
-4

В VS2008 просто щелкните правой кнопкой мыши по ссылке и выберите «Открыть ссылку во внешнем окне». Вы должны выбрать Chrome в качестве браузера по умолчанию.

backslash17
источник
Я тоже об этом думал, но это не относится к ссылкам непосредственно в исходном коде, только к ссылкам, скажем, в справке.
Мэтью Джонс
Вы правы только по ссылкам во внутреннем навигаторе, а не в панели исходного кода.
backslash17
-1 не отвечает на вопрос. : -) ... Если у кого-то есть решение, которое не включает в себя щелчок правой кнопкой мыши или нажатие клавиши CTRL, это было бы еще лучше :-)
Myster