Aklımda Kalası Kelimeler

* давайте работать вместе
* Zarf ve Mazruf, Zerafet(xHoyratlık) ile aynı kökten(za-ra-fe) gelir
* Bedesten
* Suç subuta ermiştir - Suç sabit olmuştur

15 Aralık 2008 Pazartesi

VS.NET içinden hızlıca google araması yapabilmek


ref:http://www.codinghorror.com/blog/archives/000429.html

    1 Imports System


    2 Imports EnvDTE


    3 Imports EnvDTE80


    4 Imports EnvDTE90


    5 Imports System.Diagnostics


    6 Imports System.Web


    7 


    8 


    9 Public Module Module1


   10 


   11     Public Sub SearchGoogleForSelectedText()


   12         Dim s As String = ActiveWindowSelection().Trim()


   13         If s.Length > 0 Then


   14             DTE.ItemOperations.Navigate("http://www.google.com/search?q=" & _


   15                 Web.HttpUtility.UrlEncode(s))


   16         End If


   17     End Sub


   18 


   19     Private Function ActiveWindowSelection() As String


   20         If DTE.ActiveWindow.ObjectKind = EnvDTE.Constants.vsWindowKindOutput Then


   21             Return OutputWindowSelection()


   22         End If


   23         If DTE.ActiveWindow.ObjectKind = "{57312C73-6202-49E9-B1E1-40EA1A6DC1F6}" Then


   24             Return HTMLEditorSelection()


   25         End If


   26         Return SelectionText(DTE.ActiveWindow.Selection)


   27     End Function


   28 


   29     Private Function HTMLEditorSelection() As String


   30         Dim hw As HTMLWindow = ActiveDocument.ActiveWindow.Object


   31         Dim tw As TextWindow = hw.CurrentTabObject


   32         Return SelectionText(tw.Selection)


   33     End Function


   34 


   35     Private Function OutputWindowSelection() As String


   36         Dim w As Window = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput)


   37         Dim ow As OutputWindow = w.Object


   38         Dim owp As OutputWindowPane = ow.OutputWindowPanes.Item(ow.ActivePane.Name)


   39         Return SelectionText(owp.TextDocument.Selection)


   40     End Function


   41 


   42     Private Function SelectionText(ByVal sel As EnvDTE.TextSelection) As String


   43         If sel Is Nothing Then


   44             Return ""


   45         End If


   46         If sel.Text.Length = 0 Then


   47             SelectWord(sel)


   48         End If


   49         If sel.Text.Length <= 2 Then


   50             Return ""


   51         End If


   52         Return sel.Text


   53     End Function


   54 


   55     Private Sub SelectWord(ByVal sel As EnvDTE.TextSelection)


   56         Dim leftPos As Integer


   57         Dim line As Integer


   58         Dim pt As EnvDTE.EditPoint = sel.ActivePoint.CreateEditPoint()


   59 


   60         sel.WordLeft(True, 1)


   61         line = sel.TextRanges.Item(1).StartPoint.Line


   62         leftPos = sel.TextRanges.Item(1).StartPoint.LineCharOffset


   63         pt.MoveToLineAndOffset(line, leftPos)


   64         sel.MoveToPoint(pt)


   65         sel.WordRight(True, 1)


   66     End Sub


   67 


   68 End Module


   69 




Şimdi nasıl yapacağız:
  1. "VS.NET -> Tools -> Macros -> New Macro Project" açılan ekranda herşeyi seçin ve, yukarıdaki kodu yapıştırın
  2. (Yeni modul oluştu ve adı Module1, siz keyfinize göre değiştirin)
  3. "Add References" ile "System.Drawing.dll" ve "System.Web.dll" eklenir ve kaydedilerek bu IDE den çıkılır.
  4. Google da aramalarınıza kısayol eklemek için "Tools -> Options -> Environment -> Keyboard" tıklarından geçip "Show command containing string" alanına "google" yazın gelsin macromuz.
  5. "Shortcut for selected command" altına tıklayıp dilediğiniz kısayol tuşunu oluşturun ve hayrını görün :)