問題タブ [vspackage]
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-2008 - Visual Studio 2005/2008 パッケージを登録する
Visual Studio 2005 で最初に開発された既存の VSPackage があります。その後、パッケージは Visual Studio 2008 プロジェクトに変換されましたが、Visual Studio 2005 との互換性は維持されています。
私が抱えている問題は、regpkg を実行すると、次のエラーが表示されることです。
regpkg : エラー : どのパッケージもレジストリ ルートを定義していません。
しかし、次のようにレジストリ ルートを定義しました。
プロジェクトを変換するには、こちらの手順に従ったことを覚えています。
何か案は?
やりたいことは、登録情報を .reg ファイルにエクスポートして、インストーラーに含めることができるようにすることだけです。
ありがとう、アラン
wpf - Visual Studio 2010: VSPackage ツール ウィンドウでの winforms ユーザー コントロールの使用
ツール ウィンドウで単純な VSPackage を作成すると、サンプルの WPF ユーザー コントロールが作成され、ツール ウィンドウに追加されます。このユーザー コントロールは WPF である必要がありますか? winforms ユーザー コントロールがあり、それをツール ウィンドウに追加しても表示されません。WPFでホストしようとしましたが成功しませんでした。これを行う標準的な方法はありますか?
c# - Visual Studio - フォーカスを失わずにカーソルを移動
パッケージにいくつかのツール ウィンドウがあり、ユーザーがツール ウィンドウで何らかのアクションを実行したときに、ドキュメント内の特定のポイントを表示したいと考えています。
私は次のコードを試しました:
やりたいことはできますが、残念ながら、Visual Studio コード エディターにフォーカスが移ってしまい、ツール ウィンドウから離れてしまいます。ユーザーがツール ウィンドウに入力していて、突然エディターにフォーカスが移動した場合、これは適切ではありません。
フォーカスを失わずにこれを行う別の方法はありますか?
inversion-of-control - Visual Studio 2010 アドインで MEF を使用して Castle Windsor との依存関係を解決する
内部で MEF を使用してIWpfTextView
.
VsPackage が作成されると、すべての依存関係が登録されます。IWpfTextViewCreationListener
後でMEF を介して が作成されたときに、これらの依存関係を後で解決するにはどうすればよいですか? コンテナをシングルトンとして公開してアクセスする必要がありますか、それとももっと良い方法がありますか?
編集これが私が達成しようとしていることです。VsPackage が作成されると、Windsor はすべての依存関係を配線します。
私のアドインは「Editor Adornment」タイプの拡張性であるため、ソリューションが読み込まれ、コード ファイルが開かれた後、クラスへのコールバックを取得します。このコールバックは、継承IWpfTextViewCreationListener
(および MEF 経由でエクスポート[Export(typeof(IWpfTextViewCreationListener))]
(Visual Studio によって自動的に行われます)) されます。
これは別のコンテキストで発生します。つまり、このクラスから VsPackage にアクセスできず、必要な依存関係が初期化されません。したがって、この時点では、Windsor によって以前に配線された依存関係をどのように取得できるかわかりません。
これがより明確になることを願っています。
(たとえば、 File | New Project | Visual C# | Extensibility | Text Editor Adornmentを使用して独自の拡張プロジェクトを作成してみて、どのように (いつ)TextAdornment1Factory
が作成されるかを確認できます。
c# - DTE を使用して VS 拡張機能にメニュー項目を追加してもクリック ハンドラーが起動しない
ソリューションの右クリック メニューに VS パッケージ (拡張機能) のメニュー項目を動的に入力しようとしています。
「MyMenuName」という名前の拡張メニューがあり、そこにメニュー項目を追加しています。
私が使用するコードは次のとおりです。
メニュー項目は正常に追加されましたが、クリック ハンドラーが実行されません。何か案は?
編集: ここでいくつかのコードを掘り下げました: https://netrepo.svn.codeplex.com/svn/trunk/AssemblyFactoryAddin/AssemblyFactoryAddin/GUIButton.cs そして、私のコードは正しいはずです (コードが機能すると仮定して)
visual-studio-2010 - 選択したテキストを操作するためのコンテキストメニュー項目を追加して、VisualStudio2010エディターを拡張する
Visual Studioの拡張機能を作成して、エディターで任意のテキストを選択し、右クリックしてコンテキストメニューを表示し、カスタムメニュー項目をクリックしてテキストに対して何らかのアクションを実行できるようにします。
たとえば、私のカスタムメニュー項目が「Eメール...」と呼ばれているとしましょう。エディターの新しいコンテキストメニューは次のようになります。
Breakpoint
Run to Cursor
Cut
Copy
PasteEmail
...
概要
オプション付きのポップアップ(装飾?)も追加したいのですが。この場合、、、、およびフィールドのようなものである可能性がTo
ありSubject
ますCC
。
これのいくつかは、ポップアップや電子メールを送信するための実際のコードなど、エディター拡張機能を使用してMEFで実行できると思います。VSPackage
しかし、コンテキストメニュー項目を追加する必要があるようです。私が読んだものから、私はMEFピースとVSPackage
一緒にバンドルすることができます。
これは私が立ち往生しているところです。両方の部分を実装するための詳細を含む詳細なリファレンスが必要ですが、それらを統合する方法に関する情報も必要です。MSDNは私を輪になって回らせています。
私が学ぶことができる良い、しっかりしたサンプルコードまたはドキュメント(本でさえ)はありますか?
visual-studio-2008 - vspackage インストールの devenv.exe パスを取得するにはどうすればよいですか?
このチュートリアルhttp://msdn.microsoft.com/en-us/library/bb458038.aspxに従って、VsPackage セットアップを作成しています。インストーラー クラスの作成の部分で、レジストリ "SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\EnvironmentPath" 内のこの場所への参照が表示され、devenv.exe の場所が含まれていることが示されます。レジストリを調べましたが、その場所は存在しません。devenv.exe パスの正しい場所はどこですか? Visual Studio 2008 を使用しています
visual-studio-2010 - Visual Studio 2010 VsPackage のグローバル例外ハンドラーを作成する
以前のバージョンの Visual Studio では、拡張機能 (より具体的にはアドイン) への単一のエントリ ポイントであるOnConnect
メソッドがありました。そこから、メニュー項目の追加、グローバル例外ハンドラーの設定など、すべての Visual Studio 操作を実行して、未処理の例外を適切に処理することができました。
Visual Studio 2010 の VsPackage では、動作が異なります。アプリケーションの多くの部分 ( IWpfTextView
.
try..catch
このようなすべてのコンポーネントを独自のコンポーネントに明示的にラップせずに、VsPackage で (重要ではない) 例外のグローバル ハンドラーを効率的に実装するにはどうすればよいでしょうか? 繰り返しになりますが、目標は、Visual Studio をクラッシュさせることなくグローバルな例外を処理できる、ReSharper の例外ダイアログのようなものを持つことです。