从 Visual Studio 扩展中获取 VisualStudioWorkspace

与其他类型的工作空间相比,VisualStudioWorkspace 无法手动创建。构建 Visual Studio 扩展时可以访问它。

在扩展包项目中,转到 [YourVSPackage]Package.cs 文件。在那里,你可以通过两种方式获取工作区:

protected override void Initialize()
{ 
    // Additional code...

    var componentModel = (IComponentModel)this.GetService(typeof(SComponentModel));
    var workspace = componentModel.GetService<VisualStudioWorkspace>();
}

或者使用 MEF:

[Import(typeof(VisualStudioWorkspace))]
public VisualStudioWorkspace ImportedWorkspace { get; set; }

关于 VisualStudioWorkspace 的精彩视频教程可以在这里找到。