涟漪勇@cnblogs.com

Program,Life,Society.....

将Google工具条添加到VS.NET中!

Google是我们使用最为普遍的搜索引擎,我们怎么把它内置到VS.NET中那?这里用到了Visual Studio .NET 的宏,利用这个可以实现内置Google工具条嵌在VS.NET中.



在VS.NET的宏编辑器(alt+F11打开)中新建一个Modle(MyMacros工程中),代码如下: Search.VB
Imports EnvDTE
Imports System.Diagnostics
Imports System.Windows.Forms
Imports System.Globalization
Public Module Search
    
Public Sub Google()
        NavigateTo(
"http://www.google.com/search?q={0}")
    
End Sub

    
Private Sub NavigateTo(ByVal url As String)
        
Dim selection As String = DTE.ActiveDocument.Selection.Text
        
If selection.Length > 0 Then
            DTE.ItemOperations.Navigate(
String.Format(CultureInfo.InvariantCulture, url, selection), vsNavigateOptions.vsNavigateOptionsNewWindow)
        
Else
            MessageBox.Show(
"No search text selected.")
        
End If
    
End Sub

End Module 

将这个宏添加到工具条中.
具体的操作参考: dotnetjunkies上的Add a search engine toolbar to VS.NET

支持中文:
     DTE.ItemOperations.Navigate(String.Format(CultureInfo.InvariantCulture, url, System.Web.HttpUtility.UrlPathEncode(selection)), vsNavigateOptions.vsNavigateOptionsNewWindow)

posted on 2005-05-24 09:18 涟漪勇 阅读(1985) 评论(20) 编辑 收藏

评论

#1楼 2005-05-24 10:11 James      

感覺並不實用  回复 引用 查看   

#2楼 2005-05-24 11:40 aDaNG[未注册用户]

Cool, I added one  回复 引用   

#3楼 2005-05-24 12:04 小陆      

我用这种方法加了一个msdn查询按钮  回复 引用 查看   

#4楼[楼主] 2005-05-24 12:16 涟漪勇      

TO James:
这个例子的目的是两个:了解VS.NET中的宏,自定义VS.NET工具条和Happy!
如果说是实用的话,还是Google的ToolBar用到最方便!^_^
 回复 引用 查看   

#5楼 2005-05-24 12:41 小老鼠      

我试了,不支持中文。不过还是要感谢rippleyong  回复 引用 查看   

#6楼 2005-05-24 13:40 lichdr      

很有意思的,昨天也看到了  回复 引用 查看   

#7楼 2005-05-24 13:40 sjcatsoft

我的是中文 VS.NET 2003, 不能用吗?

我点 “宏IDE...” 报错, 说 “系统找不到指定的文件”,请问什么原因?
 回复 引用   

#8楼[楼主] 2005-05-24 14:44 涟漪勇      

TO 小老鼠
支持中文可以修改 NavigateTo函数为:在引用中添加system.web
 
   Private Sub NavigateTo(ByVal url As String)
        
Dim selection As String = DTE.ActiveDocument.Selection.Text

        
If selection.Length > 0 Then
            DTE.ItemOperations.Navigate(String.Format(CultureInfo.InvariantCulture, url, System.Web.HttpUtility.HtmlEncode(selection)), vsNavigateOptions.vsNavigateOptionsNewWindow)

        
Else
            MessageBox.Show(
"No search text selected.")
        
End If
    
End Sub

你的VS.NET可能有问题啊!^_^
 回复 引用 查看   

#9楼 2005-05-24 14:55 小老鼠      

@涟漪勇:OK.可以了.谢谢  回复 引用 查看   

#10楼 2005-05-24 15:13 sjcatsoft

是不是一定要安装MSDN?

我没装 MSDN
 回复 引用   

#11楼 2005-05-24 17:09 涟漪勇

to sjcatsoft
我想不是没有安装MSDN的问题,因为我也没有安装MSDN,但是我的运行正常.还是最好将你的VS.NET修复安装吧!
 回复 引用   

#12楼 2005-05-24 20:27 sjcatsoft

晕死, 我这里居然没有 宏编辑器 这个EXE。 不知怎么搞的, 楼主能不到放个这里, 共享一下, 或者 把宏编辑器的 具体名字告诉我一下, 好像是 什么 vsmarco.exe ,不是很确定,谢谢  回复 引用   

#13楼 2005-05-24 20:51 cgcol

有关IT公司好坏的排名
IT公司速查手册
http://www.seeitco.com
供各公司评论和排名,有点意思.
欢迎大家进行评论,我们要让差的工司,爆露出来.
 回复 引用   

#14楼 2005-06-08 05:30 seeitco

 谢谢大家的观心,IT公司速查手册数据找回来了.
 前一段时间由于数据丢失,于今日已全部找回,共有近6500多家公司入驻,评论数多达10万多条。本站永久域名为(www.seeitco.com)
 回复 引用   

#15楼 2005-06-12 16:16 小迪

遇到和sjcatsoft一样的问题
说“HttpUtility”不是web的成员
 回复 引用   

#16楼 2005-06-12 16:40 小迪

还有怎样改名字和图标?
我找了半天没找到
 回复 引用   

#17楼[楼主] 2005-06-13 09:26 涟漪勇      

To:小迪
在你的menubar上右键点击customize,在这种状态下右键点击你要编辑的munubutton,name:编辑你的名字,paste button image:粘贴你复制的图标.(copy your icon)
 回复 引用 查看   

#18楼 2005-07-17 01:02 bewww[未注册用户]

近日有网站冒充本站地址更换,IT公司速查手册特此声明,http://www.bewww.net为本站永久域名...  回复 引用   

#19楼 2005-07-21 11:14 Boler      

很好,google我搞定了,但是我想做一个打开所选文件的功能,但是下面的代码总是告诉我参数不正确,到底如何才能打开所选中的文件哪?

Imports EnvDTE 
Imports System.Diagnostics 
Imports System.Windows.Forms 

Public Module OpenSelectedFile 
Public Sub OpenSelectedFile() 
Dim selection As String = DTE.ActiveDocument.Selection.Text 

Dim ItemOp As ItemOperations 
ItemOp 
= DTE.ItemOperations 
ItemOp.OpenFile(selection, Constants.vsViewKindCode) 
'MessageBox.Show(selection) 
End Sub
 

End Module
 

 

 回复 引用 查看   

#20楼 2006-01-05 13:44 Boler Guo      

打开所选文件的功能:

Imports EnvDTE
Imports System.Diagnostics
Imports System.Windows.Forms

Public Module OpenSelectedFile
    
Public Sub OpenSelectedFile()
        
Dim selection As String = DTE.ActiveDocument.Selection.Text

        
Dim ItemOp As ItemOperations
        ItemOp 
= DTE.ItemOperations
        ItemOp.OpenFile(DTE.ActiveDocument.Path() 
+ selection, Constants.vsViewKindCode)
    
End Sub


End Module

 回复 引用 查看