在尝试开发我的第一个VS Addin时,我在解决DTE2事件时遇到了问题。DTE2事件不会触发
基本上,由于某种原因,DocumentOpened和LineChanged事件不会触发。我错过了什么重要的部分?
namespace TestAddin {
public class Connect : IDTExtensibility2 {
private AddIn _addInInstance;
private DTE2 _applicationObject;
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) {
_applicationObject = (DTE2) application;
_addInInstance = (AddIn) addInInst;
_applicationObject.Events.DocumentEvents.DocumentOpened += InitializeFoldingOnDocument;
_applicationObject.Events.TextEditorEvents.LineChanged += UpdateFoldingOnDocument;
}
private void UpdateFoldingOnDocument(TextPoint startpoint, TextPoint endpoint, int hint) {
RegionFolding(_applicationObject.ActiveDocument);
}
private void InitializeFoldingOnDocument(Document document) {
RegionFolding(document);
}
private void RegionFolding(Document _document) {
// Do the folding [...]
}
// Other IDTExtensibility2 Members [...]
}
}
就是这样,谢谢! – fjdumont 2011-03-23 12:36:59
作为一名新手VSX开发者,这一款让我非常满意。如果任何人感兴趣的话,请点击这里Microsoft KB问题文章:http://support.microsoft.com/kb/555430 – 2011-07-18 07:56:00
我不知道你是怎么想出来的,但这太棒了! – 2011-09-10 17:21:20