一个相当有用的宏(for vs.net),该宏能大大的提高开发速度

来源:百度文库 编辑:神马文学网 时间:2024/04/29 07:39:58

 

面的宏用于将剪贴板里面的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"
            Dim pos = InStr(LCase(ClipString), "/" & VirtualName & "/")
            If (pos = 0) Then
                pos = InStr(LCase(ClipString), "\" & VirtualName & "\")
            End If
            If (pos <> 0) Then
                ClipString = Right(ClipString, Len(ClipString) - pos - Len("\" & VirtualName & "\") + 1)
            End If
            pos = InStr(ClipString, "?")
            If (pos <> 0) Then
                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