0

アイテム追加イベントを監視しようとしています。

次のようなカスタムエディターファクトリーを作成しました

public class ProjectEditorFactory : IVsEditorFactoryNotify, IVsEditorFactory
{
    public int NotifyDependentItemSaved(IVsHierarchy pHier, uint itemidParent, string pszMkDocumentParent, uint itemidDpendent, string pszMkDocumentDependent)
    {
        return VSConstants.S_OK;
    }

    public int NotifyItemAdded(uint grfEFN, IVsHierarchy pHier, uint itemid, string pszMkDocument)
    {
        return VSConstants.S_OK;
    }

    public int NotifyItemRenamed(IVsHierarchy pHier, uint itemid, string pszMkDocumentOld, string pszMkDocumentNew)
    {
        return VSConstants.S_OK;
    }

............
}

そして、パッケージの Initialize メソッドで

そうです

RegisterEditorFactory( new ProjectEditorFactory());

しかし、実行した後、プロジェクトに新しいアイテムを追加した後、イベント ハンドラーはヒットしません。

イベントをキャッチする方法を知っている人はいますか?

私が実際に本当に望んでいるのは、文法的にいくつかのファイルを追加してから、依存関係を 1 つの特定のファイルに作成することです。ItemAdded イベントを聞く以外の方法を知っている人はいますか?

ありがとう

4

1 に答える 1

0

カスタム エディター (Visual Studio 内のテキスト エディターなど) を提供する場合は、ここにエディター ファクトリは必要ありません。プロジェクトシステムとの統合を検討する必要があります。新しいプロジェクト システムでそれを行う方法は覚えていませんが、おそらくhttp://msdn.microsoft.com/en-US/library/microsoft.visualstudio.shell.interop.ivshierarchyevents(v =vs.110).aspx

于 2013-08-02T00:54:03.650 に答える