posts - 16, comments - 37, trackbacks - 1, articles - 6
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

下面的宏用于将剪贴板里面的url指定的文件在vs.net中打开以便编辑,目的是提高打开文件的速度
比如:你在ie中运行一个系统时,某一个页面有错,这个时候你需要修改这个页面,那么你只需要复制该页面的url,然后到vs.net中使用一个运行宏的快捷键就可以打开修改该页面了(最好事先打开了解决方案,这样该文件是作为解决方案中的一个文件打开的,而不是一个单独的与项目无关的文件)。如果不使用宏你将不得不打开解决方案资源管理器,一层一层的展开树,然后找到要修改的文件

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

Public Module RecordingModule
    
Dim ClipString As String
    
Sub TemporaryMacro()
        
'// take whatever is on the clipboard and save it to an xml file
        '// intended for cut & paste from QueryAnalyzer
        Dim ClipBoardThread As System.Threading.Thread = New System.Threading.Thread(AddressOf getClipString_core)
        
With ClipBoardThread
            .ApartmentState 
= ApartmentState.STA
            .IsBackground 
= True
            .Start()
            
'-- Wait for copy to happen
            .Join()
        
End With
        ClipBoardThread 
= Nothing
        
If ClipString <> "" Then
            
'虚拟目录名()
            Dim VirtualName = "kxframework"
            VirtualName 
= LCase(VirtualName) ' added 2008-4-2
            Dim pos = InStr(LCase(ClipString), "/" & VirtualName & "/")
            
If (pos = 0Then
                pos 
= InStr(LCase(ClipString), "\" & VirtualName & "\")
            
End If
            
If (pos <> 0Then
                ClipString 
= Right(ClipString, Len(ClipString) - pos - Len("\" & VirtualName & "\"+ 1)
            
End If
            pos 
= InStr(ClipString, "?")
            
If (pos <> 0Then
                ClipString 
= Left(ClipString, pos - 1)
            
End If
            
'组合成正确的物理路径
            ClipString = "E:\科信施工项目成本管理系统\" & VirtualName & "\" & ClipString
            ClipString 
= Replace(ClipString, "/""\")
            
If System.IO.File.Exists(ClipString) Then
                DTE.ItemOperations.OpenFile(ClipString)
            
Else
                MessageBox.Show(
"文件(" & ClipString & ")未找到!")
            
End If
        
End If
    
End Sub

    
Sub getClipString_core()
        ClipString 
= Clipboard.GetDataObject().GetData(System.Windows.Forms.DataFormats.StringFormat)
    
End Sub

End Module


 

Feedback

#1楼    回复  引用  查看    

2007-06-26 14:16 by GOFI XIAO      
要是能够给一些demo和截图就更好了。

#2楼    回复  引用    

2007-06-26 15:11 by 分类信息网 [未注册用户]
如果不使用宏你将不得不打开解决方案资源管理器,一层一层的展开树,然后找到要修改的文件

#3楼    回复  引用  查看    

2007-06-26 15:15 by 补丁      
被骗进来了...不会提高我的开发速度

#4楼    回复  引用  查看    

2007-06-26 15:46 by henry      
其实分目录存储和命名规范是不用花什么时间.不过宏的确是挺有用的东西,把经常写又重复的代码录下来,下次点击一下就生成出来.

#5楼    回复  引用  查看    

2007-06-26 15:55 by ddr888      
宏和vs的snippet(好像这么叫)什么区别??

#6楼    回复  引用    

2007-06-26 16:11 by 土人 [未注册用户]
个人觉得没什么用处

#7楼 [楼主]   回复  引用  查看    

2007-06-26 16:26 by yiyanxiyin      
没动手去做当然不知道他的好处了,呵呵

#8楼 [楼主]   回复  引用  查看    

2007-06-26 16:29 by yiyanxiyin      
使用了宏,我只需要一次ctrl+c,然后一个快捷键就能打开想要修改的webform,如果不使用宏,你不得不手工在目录树中去找要打开的webform
项目大了,找起来是比较费时的,何况这样的操作很多,总起来就浪费时间了

#9楼    回复  引用  查看    

2007-06-26 17:50 by 补丁      
有用是一定的
但是标题是唬人的
他肯定不能"大大"提高我的开发效率么...

#10楼    回复  引用  查看    

2007-06-26 18:36 by 代码乱了      
这个怎么使用,比如安装到VS,能详细说明下步骤吗
还有这个是针对VS 2003?还是2005?

#11楼    回复  引用    

2007-06-26 19:50 by yiyanxiyin [未注册用户]
@代码乱了
最简单的使用方法(我使用的2003,我想2005一样的):
进入vs.net,随便录制一个宏,然后保存,然后将上面的代码覆盖你录制的宏的代码(代码中的虚拟目录名和物理路径根据自己的情况修改一下),保存,然后就可以使用ctrl+shift+p快捷键运行宏了,运行前你要拷贝想打开的url地址

#12楼    回复  引用    

2007-06-26 19:51 by yiyanxiyin [未注册用户]
@补丁
如果你能灵活使用,我想还是可以大大的提高开发效率的

#13楼    回复  引用  查看    

2007-06-26 21:11 by YAO.NET(三千)℡      
很强大.

#14楼    回复  引用  查看    

2007-06-26 22:18 by 代码乱了      
@yiyanxiyin
多谢!
:)

#15楼    回复  引用  查看    

2007-06-26 23:17 by Cat Chen      
看到这一句:
ClipString = "E:\科信施工项目成本管理系统\" & VirtualName & "\" & ClipString

这东西的可扩展性不高吧,要根据特定的项目具体设置吧?

#16楼    回复  引用    

2007-06-27 10:27 by jordan [未注册用户]
不错!

#17楼    回复  引用  查看    

2007-06-27 10:33 by David      
你的项目搞那么深的目录做啥呢???
一层就够了吧!

#18楼    回复  引用  查看    

2007-06-27 11:10 by birdshome      
修改维护别人的项目时比较有用,特别是业务系统相似名称的文件很多的时候
// 不过确实是标题党:)

#19楼    回复  引用  查看    

2007-06-27 17:02 by SnApnet      
这个是有用的,说没用的人可能项目文件不多。

#20楼    回复  引用    

2007-06-27 17:08 by csharp [未注册用户]
還好而以
基本上項目也很少多過三層目錄

#21楼    回复  引用  查看    

2007-06-27 17:34 by 沉睡海洋      
个人觉得不是很有用
同时在实施N多项目,
如果出问题,通常不会只是一个页面,一个URL出问题,很有可能是相关的项目出了问题,所以必须打开全部来看,呵呵

#22楼    回复  引用  查看    

2007-06-29 08:06 by 小哈      
好象還不錯,支持一下~

#23楼    回复  引用  查看    

2007-07-26 09:41 by Clark Zheng      
可是我的页面里一般都使的用户控件(为了在嵌套模板情况下方便设计界面),能不能直接跳转到相应的用户控件去?而不只是页面级。。。

#24楼    回复  引用    

2007-08-20 10:54 by yiyanxiyin [未注册用户]
@Clark Zheng
不行,因为用户控件不提供独立的url地址。你可以打开用户控件所在的页面然后在用户控件的定义处按f12,这样打开用户控件进行编辑也很快

#25楼 [楼主]   回复  引用  查看    

2008-04-02 09:28 by yiyanxiyin      
'虚拟目录名()
Dim VirtualName = "kxframework"
后面加一句:
VirtualName = LCase(VirtualName)

这样VirtualName既可以是大写也可以是小写,否则只能是小写

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-04-02 09:31 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接: