在嘗試開發我的第一個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