我创建了Classifier
,ErrorTagger
,SignatureHelp
和TextCompletion
类。这些都是由VS发现的MEF组件供应商创建的。在VSIX Editor语言扩展组件之间共享状态
问题是,我想共享这些组件之间的C#对象来共享状态,并允许我保存从每个组件中重新分析相同的文本。我怎样才能做到这一点?我需要这个状态来编辑每个文件。
VS发现提供程序并使用它们创建我的组件。但是,我怎么能通过或分享他们之间的状态?我确实使用了一个全局单例,但是当我在VS中编辑多个文件时,它们都共享同一个单例,但是我需要为每个正在编辑的文件另外创建一个实例。
'IServiceProvider'应该做的。但是,如果所有的东西都运行在新的VS的同一个AppDomain中,那么静态变量也应该可以工作。 – leppie