我正在尋找一種方法來編寫一個宏事件來解析用戶的代碼。
例如,當程序員編寫一些特定的代碼時,該事件將解析代碼行,並且如果匹配正則表達式將在活動文檔上插入一些附加代碼。
我如何獲得洞線代碼以及應使用哪個事件?如何編寫Visual Studio宏事件以獲取用戶輸入的代碼?
0
A
回答
-1
有一些宏可以響應的事件,但是,我不認爲文字輸入是其中之一,更好的方法可能是使用片段 - http://msdn.microsoft.com/en-us/library/ms165392(v=VS.100).aspx
他們會允許你定義一個關鍵字,然後將文本添加到編輯器中。 一個很好的例子是屬性片段;在您的編輯器中鍵入'prop',然後按Tab(在C#中兩次,在VB中一次)以調用。
這裏是可用的片段的詳細列表: http://msdn.microsoft.com/en-us/library/z41h7fat(v=VS.100).aspx
2
可以使用TextDocumentKeyPressEvents.AfterKeyPress事件。用戶在文本編輯器中按任意鍵後,下面的宏觸發器。然後它得到當前行。這個例子測試,如果行中包含「hello」文本,並且如果是這樣的話,它顯示消息框中的行。
Private Sub TextDocumentKeyPressEvents_AfterKeyPress(ByVal Keypress As String, _
ByVal Selection As EnvDTE.TextSelection, ByVal InStatementCompletion As Boolean) _
Handles TextDocumentKeyPressEvents.AfterKeyPress
Try
Dim line As String
Dim aPoint As EditPoint = Selection.ActivePoint.CreateEditPoint
Dim startPoint As EditPoint = aPoint.CreateEditPoint
startPoint.StartOfLine()
Dim endPoint As EditPoint = aPoint.CreateEditPoint
endPoint.EndOfLine()
line = startPoint.GetText(endPoint)
If line.Contains("hello") Then
MsgBox(line)
End If
Catch ex As Exception
End Try
End Sub
創建和這個宏適用於:
- 轉到菜單工具 - 宏 - 宏IDE ...
- 在宏IDE類視圖導航到MyMacros - {} MyMacros - EnvironmentEvents。打開(雙擊)EnvironmentEvents。
- 將此代碼粘貼到模塊內(就在結束模塊行之前)
相關問題
- 1. 如何編寫Visual Basic代碼以讀取條形碼掃描儀的輸入?
- 2. visual studio 2008宏:寫入輸出窗格
- 3. 使用Visual Studio編寫AVR代碼
- 4. 如何在Visual Studio代碼中編寫React.js代碼?
- 5. 如何編寫Visual Studio宏以執行Extract類重構?
- 6. 如何用Visual Studio代碼編譯Opencv?
- 7. 在Visual Studio中編寫Excel VBA代碼
- 8. 在Visual Studio中編寫Flex 3代碼?
- 9. 如何在Visual Studio中寫入輸出
- 10. 如何獲取用戶輸入和寫入文件 - Java
- 11. 如何根據用戶的輸入獲取此代碼循環?
- 12. 編程visual studio宏
- 13. 爲Sharepoint編寫代碼以獲取URL
- 14. 如何獲取Visual Studio代碼以格式化代碼顯示斜體字體?
- 15. 如何在jQuery中編寫以下代碼的點擊事件?
- 16. 如何輸出預處理的代碼並編譯它(Visual Studio)
- 17. 使用Visual Basic的Microsoft Visual Studio 2012,如何在代碼中正確寫入?
- 18. 以編程方式獲取Visual Studio安裝項目的應用產品代碼
- 19. 如何編寫可以獲取更新的代碼?
- 20. 如何獲得對寫入Visual Studio「輸出」窗口的輸出流的引用?
- 21. Visual Studio宏 - 代碼Gen語言
- 22. 從源代碼訪問Visual Studio宏?
- 23. 的Visual Studio宏編輯器
- 24. 爲Visual Studio 2010編寫代碼生成插件的教程
- 25. 爲visual studio代碼取消選擇showInputBox中的輸入值
- 26. G ++編譯Visual Studio代碼
- 27. Visual Studio代碼 - SCSS編譯
- 28. 如何在Visual Studio中獲取變量寫入的斷點?
- 29. Visual Studio代碼GitHub帳戶
- 30. 在visual studio中,如何編寫將日期插入評論的宏?