3

実際には CSharp ファイルであるカスタム拡張子 .mcsx を持つファイルがあります。Visual Studio 2012 でこれらのファイルのコード補完を取得したいのですが、これらのファイルを VS で開くとプレーン テキストとして扱われます。

csharp に基づくコンテンツ タイプとしてファイルを処理できるようにするカスタム MEF 拡張機能を作成しようとしましたが、これらのドキュメントのオートコンプリートまたはコード フォーマットが得られません。カスタム コンテンツ タイプのカスタム CSharp 分類子を呼び出す必要があるかもしれませんが、よくわかりません。誰でも助けることができますか?

カスタム ContentType は次のとおりです。

static class ContentType
{
    public const string Name = "CSScript";

    [Export]
    [Name(Name)]
    [DisplayName("CSharp Script")]
    [BaseDefinition("CSharp")]
    public static ContentTypeDefinition CSharpContentType = null;


    [Export]
    [ContentType(Name)]
    [FileExtension(".mcsx")]
    public static FileExtensionToContentTypeDefinition CSharpFileExtension = null;

}
4

2 に答える 2

2

VS フォーラムの「Ego」に感謝します。

以下の方法でカスタム拡張ファイルを追加できます。

http://blogs.msdn.com/b/zainnab/archive/2010/08/22/using-custom-file-extension-associations-vstipenv0038.aspx

言語サービスの登録の詳細については、以下を参照してください。

http://msdn.microsoft.com/en-us/library/vstudio/bb166421(v=vs.110).aspx

于 2013-07-08T10:30:02.860 に答える
0

したがって、VS の内部では、実際にはエディター API が暗示するものとは少し異なります。アクティブ化するタイミングを決定するために (ほとんどの場合) コンテンツ タイプを実際に使用することはありません。Noah Richards は、既存のエディターで別の拡張機能をマークする拡張機能を作成する方法を示す素晴らしいブログ投稿をしています。

于 2013-06-20T20:14:39.573 に答える