2009-07-29 23 views
131

ソースファイルのコメントにURLがある場合、「CTRL +クリックしてリンクをたどる」ことができます。しかし、これを行うと、Visual Studio内でリンクが開きます。私のウェブブラウザ(私の場合はGoogle Chrome)で公開するにはどうすればいいですか?Visual Studioではなく、Webブラウザでリンクを開くにはどうすればよいですか?

+0

私は機能要求を提出するつもりでしたが、何を推測していましたか。 VS2010beta1のエディタビューでは、自動リンクは実際にはなくなりました。 – Bahbar

+0

@Bahbar:VS2010 RCでは、リンクが戻ってきます。 –

+5

この質問は2.5年後に更新されますか?今は良い方法がありますか? – Borek

答えて

58

Open in External Browserと呼ばれるこの動作を提供する拡張機能があります。それは

おかげでこれに類似の質問にhis answerでこれを指摘するためにDmitryに行く(のVisual Studio 2010をサポートしています古いバージョンavailable on GitHub)2012、2013、2015年と2017年のVisual Studioで動作します。

編集:Visual Studioチームは、この権利をVisual Studioに組み込む作業を最終的に開始しました。 thisステータスが「Under Review」から「Started」に変更されました。

+0

ありがとうマイク!素晴らしい、簡単な解決策。 –

+2

FYIと同じように、これはVS2015でも動作します – Rob

+10

更新Robに感謝します。 VS2015でこれを使用する必要があることは残念です。 – mikesigs

-4

VS2008では、リンクを右クリックして[外部ウィンドウでリンクを開く]を選択します。デフォルトのブラウザとしてChromeを選択する必要があります。

+0

私はこれも考えましたが、ソースコード内のリンクには直接的には適用されません。ヘルプなどのリンクにのみ適用されます。 –

+0

あなたはソースコードペインにない内部ナビゲータのリンクのみです。 – backslash17

+0

-1は質問に答えません。 : - )...誰かが右クリックメニューやCTRLをクリックしても解決しない解決策があれば、それはさらに良いでしょう:-) – Myster

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 

ただ、これはmracokerすることにより、上記提案のマクロに改良したものである...

+0

私はVBをインストールしていませんが、それは動作するように見えます(行末に何もない場合URLを過ぎて)、さらに私は答えられていない質問があるのが嫌いです。ありがとうございました:) –

+2

@Sam:Visual Studioマクロを使用するには、VBをインストールする必要はありません。彼らは同じ構文を使用します。 –

+0

これは何とかインストールする必要がありますか? –

5

をURLの前にカーソルを置くと、マクロを実行します。

このマクロは、現在の行で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にマップ)

関連する問題