問題タブ [mpf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio - Visual Studio の拡張性 - 新しいプロジェクト タイプの作成
ここの手順に従おうとしています: https://msdn.microsoft.com/en-us/library/cc512961.aspxで、Visual Studio でサポートを追加したいカスタム DSL 用の新しいプロジェクト システムを作成します (最終的にはこれには多くの機能が含まれますが、今は非常に基本的なものを機能させようとしています)。
私は彼らの例を機能させることができますが、「AssemblyInfo.cs」ファイルを「Properties」フォルダーに入れるという非常に単純な変更を行うのに苦労しています。
私のテンプレートは次のようになります。
- テンプレート
- AssemblyInfo.cs
- Program.cs
- Template.myproj
- Template.vstemplate
そして、作成したプロジェクトの構造を次のようにします。
- テンプレート
- プロパティ
- AssemblyInfo.cs
- Program.cs
- Template.myproj
- Template.vstemplate
- プロパティ
したがって、.myproj ファイルを次のように変更しました。
および読み取る .vstemplate ファイル:
これは非常に単純です。「Properties\」を 2 か所に追加しただけです。
ただし、新しいプロジェクトを作成すると、私の実験的な VS インスタンスは不平を言います:
言うまでもなく、私が書いたコードにはいかなる種類の列挙も含まれていません...「MPFProj」コードをステップ実行しようとしましたが、ステップ実行されているコードとは関係のないランダムな場所でエラーが発生しているようですただし(おそらくエラーは別のスレッドで発生しますか?)。
奇妙なことに、フォルダーがなくても、新しいプロジェクトを作成してから (IDE のように) 手動でフォルダーを作成し、新しいファイルを (「新しいアイテム」テンプレートを使用して) フォルダーに追加できるようです。そのフォルダは問題ありません。
これは MPFProj のバグですか? これを処理するには、MPFProj 型のドキュメント化されていない 100,000 の仮想メソッドの 1 つをオーバーライドする必要がありますか? vstemplate ファイルが正しくありませんか?
また、VS 2015 の Visual Studio 拡張性に関する適切なソースはありますか? または、これらの実装方法のベスト プラクティスはありますか? または意味のあるドキュメントですか?私はいくつかの例 (たとえば、IronPython VS プラグイン) を見てきましたが、特にこのような微妙な問題を解決するために、特に啓発的ではありません (そして、適切なドキュメントがなければ、異なる例の違いが存在する理由を伝えることは不可能です... )。
visual-studio - 単一言語の Visual Studio 拡張機能の複製
私は拡張機能で VS 拡張機能を作成するのが初めてで、糸の 3 つのボールのもつれをほどくなどの主題に関する情報を見つけます。私はMSDNサイトでかなりのことを読んだだけでなく、多くの失敗したGoogle検索も行いました。
私の目標は、Visual Studio 拡張機能 (MEF と MPF を使用) を作成して、サード パーティによって作成された言語のサポートを改善することです。サードパーティには、デバッグと最小限の Intellisense をサポートし、色付けを提供する VS 拡張機能が既にあります。デバッグ サポートを失いたくはありませんが、エクスペリエンスの他のすべての側面を改善したいと考えています。
私の理解では、特定の言語 (コンテンツ タイプ) は、1 つの LanguageService および/または MEF (カラー化、インテリセンスなど) を介した一連のエディター サービスによってのみサポートされます。これは正しいです?既存の Intellisense を置き換えて、他の機能を追加することは可能ですか?