Visual studio 如何在新的VS2010编辑器扩展中创建编辑器选项

Visual studio 如何在新的VS2010编辑器扩展中创建编辑器选项,visual-studio,visual-studio-2010,mef,Visual Studio,Visual Studio 2010,Mef,VS2010编辑器的示例包括创建EditorOptionDefinitions的mentios以及一个小示例。当我尝试这样做时,我在VS2010 UI的任何地方都找不到选项。如何创建这些编辑器,以便它们出现在UI中?要在Vs2010中定义新的编辑器选项,您需要执行以下操作 创建一个从EditorOPtionDefinition或EditorOPtionDefinition 添加导出的EditorOptionDefinition 确保将定义此的部件列为MEF零部件 范例 [Export(typeo

VS2010编辑器的示例包括创建EditorOptionDefinitions的mentios以及一个小示例。当我尝试这样做时,我在VS2010 UI的任何地方都找不到选项。如何创建这些编辑器,以便它们出现在UI中?

要在Vs2010中定义新的编辑器选项,您需要执行以下操作

  • 创建一个从
    EditorOPtionDefinition
    EditorOPtionDefinition
  • 添加导出的
    EditorOptionDefinition
  • 确保将定义此的部件列为MEF零部件
  • 范例

    [Export(typeof(EditorOptionDefinition))]
    public sealed class SomeNewOption : EditorOptionDefinition<string> {
      public override Default { get ... } 
      public override EditorOptionKey<string> Key { get ... }
    }
    
    [导出(typeof(EditorOptionDefinition))]
    公共密封类SomeNewOption:EditorOptionDefinition{
    公共重写默认值{get…}
    公共覆盖EditorOptionKey{get…}
    }
    
    OK。然后呢?那到底是怎么回事?如果我想让用户设置一个值或获取用户已设置的值,我实际上需要做什么?我假设我需要为此构建自己的UI,但不清楚。@Wolfbyte,这些选项只对其他扩展有用。如果你想有一个用户界面,你确实必须建立一个yourself@JaredPar谢谢你的回答。那个么,导出这个类是否提供了VisualStudio中选项的持久性呢?我正在努力弄清楚为什么我要创建一个这样的产品并将其导出。另外,您的答案是正确的,所以我将其标记为“正确”。@Wolfbyte,我不确定持久性角度(我不相信默认情况下它们是正确的)。此类的目的是公开对其他扩展有用的设置。例如,编辑器导出诸如换行符、TabSize、DisplayUrlsAsHyperLinks等项。@JaredPar那么为了使用其他人定义的这些选项,我们需要[ImportMany]EditorOptionDefinition[]选项吗?我真的不知道这个类提供了什么,因为我想我可以导出一个字符串或布尔值。我想这是因为选项的值可能会更改,因此您需要为它导出一个容器,而不是值本身。请注意您的标记选择。”“vs2010”是一个坏消息。