問題タブ [vsix]
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.
.net - VisualStudioエディターでのアクティビティの検出
Visual Studioエディターにプログラムでフックされているかどうかを知りたいので、誰かがエディターに入力しているかどうかを判断できます。
ありがとう!
c# - IVsBuildPropertyStorage.SetItemAttribute が特殊文字をエスケープしないようにするにはどうすればよいですか?
私は Visual Studio 2010 拡張機能に取り組んでおり、次のように MSBuild アイテムに属性を追加したいと考えています。
したがって、私が見つけた唯一の方法は、メソッドを使用することIVsBuildPropertyStorage.SetItemAttribute
です。これは単純な文字列では問題なく機能しますが、MSBuild にとって特別な文字を使用しようとすると、次の結果が得られます。
これは、SetItemAttribute
が MsBuild 文字から自動的にエスケープすることを意味し、私はそれを望んでいません。
visual-studio - VSPackage: 実行時にツールバー ボタンのテキスト/ツールヒントを変更する
VS2008/2010 のアドインとして Visual Studio 拡張機能を開発しています。現在、新しいバージョンは VS2010 専用の VSIX パッケージとして作成される予定です (とにかく .NET 4 である必要があるため)。UI の処理に問題があります (かなり単純だと思います)。
拡張機能は主に、さまざまなアクションやフォームなどを起動するいくつかのボタンと、いくつかの状態情報を表示するためのラベルとしてのみ使用されるいくつかのボタンを備えたツールバーで構成されています。「ラベル」ボタン自体は非常に短く簡潔な情報を表示するだけですが、ツールチップはより詳細な情報を提供します。
アドイン全体が非常にエレガントだとは思いませんでしたが、このようなことを行うのは非常に簡単でした (私のアプローチは少し素人っぽかったかもしれませんが)。コマンドをツールバーに追加するとき、特定のローカル変数に「ラベル」ボタンを「保存」し、後でキャプションとツールチップ テキストを自由に設定できるようにします。
VSPackage では、 Microsoft.VisualStudio.CommandBars.CommandBarButtonに相当するものはOleMenuCommandのようです。MenuCommandServiceを介して "label" コマンドを見つけることは問題ありませんが、必要に応じて変更することは問題ありません。
これを行う方法を見つけるために、グループに 2 つのボタンがあるツールバーを用意しました。btnActionは非常に単純です。他のボタンのテキストを変更するためのアイコンと実行ハンドラだけで、CommandFlags はありません。 btnLabelは .vsctで次のようになります。
これに関する最初の問題は、TextChangesを使用すると、ToolTipText文字列が無視され、最初にButtonTextがツールチップにも使用されることです。
アクション ボタンのハンドラー コードは次のとおりです。
これによりbtnLabelのキャプションが期待どおりに変更されますが、ツールチップを明示的に指定する方法がないため ( OleMenuCommandオブジェクトにはTextプロパティしかなく、 CaptionとTooltipTextの両方を持つCommandBarButtonとは異なります)、ツールチップは常に同じ文字列に設定されます。キャプションとして。私が理解していることから、これは FindCommand() を使用すると、実際には UI ボタンを取得するのではなく、ツールチップを気にしない基本的なコマンドのみを取得するためです。
さらにややこしいのは、 TextChanges の代わりにTextChangesButton CommandFlagを使用するとどうなるかということです。ボタンは .vsct で定義されたツールヒント テキストを正しく表示するようになりましたが、他のボタンをクリックしてもキャプションもツールヒントも変更されません。ただし、btnLabelコマンドのTextプロパティを確認すると、期待どおりに設定されています (" x回クリックされました」)。TextChangesButtonは、コマンドとボタンのプロパティを「切り離す」ようなものですか? もしそうなら、これは私が望むものです(とにかく実行するものがないので、コマンドは気にしません; btnLabelは常に無効になります)、
さまざまな IV インターフェイスと SV サービスを調べましたが、適切なものを見つけることができませんでした。また、ドキュメント (および IntelliSense ヘルプ) はあまり広範ではないようです。
visual-studio-2010 - Visual Studio ギャラリー - MVC プロジェクト テンプレートのアップロードに失敗する
Visual Studio ギャラリーにアップロードしたい VSIX パッケージとして Visual Studio 2010 ASP.NET MVC プロジェクト テンプレートを作成しましたが、試行するたびにパスが長すぎると表示されます...
ローカルでは、問題なくインストールして動作します...
プロジェクトの構造 (長さを短くするために t.zip として圧縮されています) は、標準の MVC 構造化プロジェクトです。 C# 言語の下の Web サブフォルダーなので、VSIX パッケージ内のパスはProjectTemplate\CSharp\Web
.
この制限を回避する方法はありますか、それとも単に何か間違っているのでしょうか?
visual-studio-2010 - VSix の展開が失敗する - ターゲット マシンに VS SDK が必要ですか?
マシンにビルドおよびインストールされ、正常に動作する vsix パッケージがあります。VS Sdk を持たないマシンでダブルクリック インストールを試みました。View-OtherWindow のアイコンをクリックすると、「呼び出しのターゲットによって例外がスローされました」というエラーが表示されます。何かご意見は?
.net - Visual Studio パッケージ/拡張機能の現在のエディター ウィンドウにコードを追加する
コード エディターで拡張機能からコードを追加/削除するにはどうすればよいですか?
例:
拡張ウィッチを作成し、着信ソケットからコードを変更します
。この例では、Microsoft.VisualStudio.Text.Editor を使用しています。
使用してみました:
IWpfTextView textView; // got from visual studio "Create" event
ITextChange change; // Got from network socket or other source
ITextEdit edit = textView.TextBuffer.CreateEdit(); // Throws "Not Owner" Exception
edit.Delete(change.OldSpan);
edit.Insert(change.NewPosition, change.NewText);
しかし、CrateEdit() 関数が失敗するため、別の方法があると思います
c# - Visual Studio 2010 の HWnd
VSIX 拡張機能から Visual Studio 2010 のトップ ウィンドウへの HWnd ポインターを取得する方法はありますか? (ウィンドウのタイトルを変更したい)。
wpf - vsixに画像を埋め込む
vsでカスタムスタートページテンプレートをいじっています。
スタートページのxamlで使用できる画像を埋め込むにはどうすればよいですか。画像をResourceに設定し、Imageコントロールのsourceプロパティをファイル名に設定する通常の方法を試しました。
しかし、それは機能しません...それは正常に構築され、スタートページを正常にスピンアップしますが、画像は表示されません。正常に機能するソースにURLを貼り付けると。
Thxスティーブ
visual-studio-2010 - VSIXを使用してプロジェクトテンプレートのIWizardを含むアセンブリをデプロイします
プロジェクトテンプレートを展開するVS2010の拡張機能を作成しました。プロジェクトテンプレートは、このテンプレートに基づいて新しいプロジェクトを作成するときに呼び出されるカスタムウィザード(特定のアセンブリ内)を使用します。
ウィザードを含むアセンブリをVSIX内にパッケージ化して、テンプレートがウィザードを見つけることができる場所にデプロイされるようにします(GACはVSIXのオプションではないことを知っています)。
基本的に、アセンブリをGACにデプロイし、VSIXをインストールしてからプロジェクトを作成すると、ウィザードが正常に呼び出されます。最初にアセンブリをデプロイせずに同じことを行うと、プロジェクトの作成時にプロジェクトテンプレートでアセンブリが見つかりません。
私の質問は、VSIXパッケージを使用してプロジェクトテンプレートとそれに必要なアセンブリを展開する方法です。
ご協力ありがとうございました
編集:両方のインストーラープロジェクトでウィザードアセンブリ参照のVSIXサブパスを「ProjectTemplates」に変更し、それに応じてvsixmanifestコンテンツアセンブリ参照を更新しました。今はうまくいくようです。
visual-studio-2010 - Visual Studioでプロジェクトのプロパティ画面を拡張するにはどうすればよいですか?
Visual Studioでプロジェクトのプロパティを表示すると、いくつかのタブが表示されます。
標準的なものは、「アプリケーション」、「ビルド」、「ビルドイベント」などです。
カスタムタブを追加することもできます。たとえば、さまざまな(追加の)タブを取得するWebApplicationまたはVSIXプロジェクトのプロパティを表示します。
では、プロジェクトのプロパティウィンドウにカスタムタブを追加するVSIXアドインを作成するにはどうすればよいですか?