問題タブ [envdte]
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.
c# - プログラムでvs 2008で新しい空のソリューションを作成するにはどうすればよいですか?
設計ベースのアプローチは、新しいプロジェクト -> 他のプロジェクトの種類 -> Visual Studio ソリューション -> 空のソリューションです。
C# でプログラムによって空のソリューションを作成する必要があり、このソリューションで新しい空のプロジェクトとファイルを追加します。Web で DTE を使用したコードをたくさん見つけましたが、既存のソリューション エクスプローラーに空のプロジェクトを追加しているので、参照コードを教えてください。
visual-studio-2005 - インテル C++ コンパイラーを使用するための Visual Studio プロジェクトの変換を自動化する方法。
C++ コードのパフォーマンスを向上させるためにインテル C++ コンパイラーを使用しています。これを使用するには、Visual Studio プロジェクトを IDE を介して Intel プロジェクトに変換する必要があります。Intel コンパイラはどこにもインストールされていないため、Intel ビルドを作成する必要があるマシンでのみこの手順を実行します。
何らかのスクリプトを使用して、この変換プロセスを自動化する方法を検討したいと考えていました。EnvDTE API を使用して同じことができないかと考えていました。
これまでのところ、VBScript で以下に到達することができました。
この時点で、次のように関数を呼び出すことができます。
そして彼らはうまくいきます。
これを超えて、ソリューションに適用できる他のコマンドを特定する方法を見つけることができませんでした。たとえば、インテル C++ コンパイラーは、それ自体をプラグインとして Visual Studio に統合します。ソリューション オブジェクトで使用できるコマンドのリストを特定し、適切なコマンドを実行して Visual Studio プロジェクトをインテル® コンパイラーを使用するように変換する方法を見つけられるかどうかを考えていました。
この変換を自動化することは可能ですか?
前もって感謝します。
visual-studio-addins - Visual Studio 2010 アドイン - イベントがトリガーされない
アクティブなドキュメントをパラメーターとして受け取るアドインを作成しました。そのため、アクティブなドキュメントが変更されるたびに、それを知る必要があります。そのために、DTE2 オブジェクトの「Events.DocumentEvents.DocumentOpened」イベントを使用したいと考えました。しかし問題は、アクティブなドキュメントを変更してもイベントが発生しないことです。
コード スニペットは次のとおりです。
DocumentEvents も試しましたが、成功しませんでした。何か案は?
c# - AddFromTemplate()を介して作成されたプロジェクトアイテムへの参照が返されません
フォームを正常に作成するVisualStudioアドインでは、EnvDTEのprjItemインスタンスへの参照が返されません。
フォームをプロジェクトに追加するコードは次のとおりです。
Obs.:'solution'はEnvDTE80.Solution2オブジェクトです。
当然のことながら、proj.ProjectItems.Item([index])(ループを実行して名前をチェックする)などの他の方法で参照を取得できますが、それは私がやりたい方法ではありません。このフォームにコントロールを追加します。
私は何か間違ったことをしていますか?
c# - EnvDTEへの参照しかない場合にフォームにコントロールを追加する
Visual Studio 2010のアドインを作成していますが、既存のソリューションの既存のプロジェクトの既存のフォームにコントロールを追加したいのですが、それらすべてへの参照が既にあります。
フォームのファイルを表すプロジェクトアイテムへの参照があるので、フォーム自体への参照が必要です。そうすれば、フォームに対して何でも実行できます(プロパティの変更、コントロールの追加)。
私はいくつかのアプローチを試みましたが、私は試みを使い果たしていないことを認めなければなりません。しかし、これは非常に興味深いテーマなので、茂みの周りを殴り続けるのではなく、この質問を書くことにしました。そうすれば、私にとってはより速くなり、他の誰かからの将来の同様の質問に登録されます。
要約:
私は持っています:
そして私は持っていたい:
c# - EnvDTE でフォームを作成した後、フォームが保存されない
開いたソリューションの既存のプロジェクトにフォームを追加する Visual Studio アドインを作成しました。
これは私がフォームを作成する方法です:
その後、追加されたフォームの ProjectItem への参照を正常に取得できます。次に、System.Windows.Forms.Form への参照を取得できます。この参照を使用して、次のようにフォームにボタンを追加できます。
そして、ボタンがフォームに正常に追加されます。
ただし、このフォームを保存しようとすると、保存されません。Visual Studio の [保存] ボタンをクリックしても、グレーにならないだけです。[すべて保存]をクリックしてもフォームが保存されません。次に、Visual Studio を閉じて再度開き、アドインで新しいフォームを追加したプロジェクトを開きますが、新しいボタンが表示されません。ただの空のフォーム。
次のコードを使用して、プロジェクトとソリューションをプログラムで保存しようとしました。
これは、アドインをテストするために使用していた Visual Studio のインスタンスが、アドインを実行した直後に開いたデバッグ用のインスタンスであるためだと考えていました。しかし、インストールされたアドイン (実行後に自動的に残ったもの) を使用してみましたが、問題は解決しませんでした。
更新
2 つのことに気付きました。
1)ボタンはフォームのデザインにのみ表示され、それ以外の場所には表示されません。また、属性を表示するために選択することさえできません。
その名前は、Intellisense、オブジェクト リスト、またはフォームのデザイン ドキュメントにも表示されません。
テストとして、ボタンを手動で追加しました。これを選択して操作できます。
そこから得られるのは、ボタンを適切に追加していないということです。
次に、ボタンに関する新しい質問は次のようになります: EnvDTE を介して作成されたフォームに、設計時に操作できる方法で新しいボタンを追加するにはどうすればよいですか?
2)ファンキーなボタンと手動で追加したボタンとの違いを確認しようとしているときに、プログラムで作成したフォームでこれまでにないことを試みました: インスタンス化して実行します。
そして、これが私がそれを行った方法です:
画面上で点滅し (私の 2 つのボタンは表示されていないようです)、実行が終了します。Form_load で何かをしようとしても、それが実行され、フォームが点滅し、Close() メソッドを呼び出したかのように、実行が終了します (フォームが閉じられ、デバッグが終了します)。
次に、追加の質問は次のとおりです。フォームを追加するときにステップをスキップしましたか、それともフォームをまったく作成していませんか?
visual-studio - マクロのエラー リストに項目を追加
マクロの実行中に何か問題が発生した場合、マクロのユーザーに通知したい。Visual Studio のエラー リストに項目を追加できるかどうか疑問に思っていました。
AddIn 内から実行することもできますが (ここのように)、マクロから同じことを実行したいと考えています。
編集
私が達成したいことをさらに明確にするために、サンプル マクロ ライブラリのサンプルを次に示します (Alt+F8 -> サンプル -> ユーティリティ -> SaveView())
MsgBox("...") アラートの代わりに、エラーを VS エラー リストに入れたいと思います。
visual-studio - DTEを使用したVSでのソリューションの再構築
最近、Visual Studio 2003で問題が発生しました。ソリューションを数回実行すると、この1回の実行で、多くのオブジェクトが欠落している、または多くのオブジェクトが利用できないことがわかります。それらのスコープ。
この問題は、再構築後に解決されます(プロジェクトが変更されたかどうかに関係なく、ソリューション全体が再構築されます)。これはかなり頻繁に行われるため、[ソリューションの再構築]オプションにキーボードショートカットを割り当てました。この後、問題なくソリューションを実行できます。
ここで、その一歩を踏み出し、ソリューションの再構築が完了した後にソリューションを自動的に実行したいと思います。マクロを使用してみましたが、生成されたコードを確認した後、次のようになりました。
Build.RebuildSolution
ExecuteCommandはコマンドを起動するとすぐに返されるDTE.Debuger.Go(False)
ため、ソリューションが既に構築されているため実行できないことに気付きました。
必要なのは、Debugger.Go()がExecuteCommandが完了するのを待つ方法、またはRebuildが完了するまで次の行が実行されないソリューションを再構築するための明確な方法です。
envdte - アセンブリ EnvDTE 8.0.0.0 とは何ですか?
VS 2010 で小さなコンソール アプリを作成し、それを公開して別の PC (Win XP Sp3) にインストールしました。インストーラーは私に.Netフレームワークを更新させました。それを行った後、実際にアプリをインストールする2番目の部分を実行すると、次のモーダルボックスが表示されます:
アプリケーションをインストールまたは実行できません。アプリケーションでは、最初にアセンブリ EnvDTE バージョン 8.0.0.0 をグローバル アセンブリ キャッシュ (GAC) にインストールする必要があります。
システム管理者に連絡してください。
EnvDTE v8.0.0.0 とは一体何ですか????
これは、API への小さな Web 呼び出しを実行し、結果を返す小さなアプリです。Codesmith/Nettiers (エンタープライズ ライブラリを含む) から生成されたコードを使用して、選択および更新の DB 呼び出しを行います。これらのファイルは、既にアプリで参照されています。
これを修正または回避する方法はありますか?
visual-studio - DTEを介してプロジェクトのTargetPathのマクロ値を取得する
DTEを介してプロジェクトのアセンブリの絶対出力パスを取得する必要があります。このメソッドを使用してこれを実行しようとしました。このメソッドでは、OutputPathプロパティにアクセスし、アセンブリ名と組み合わせますが、これにより、次のような相対パスが生成されます。
..\..\Output\AnyCPU\Debug\MyAssembly.dll
私のプロジェクトは別の場所から実行されている可能性があるため、使用するPath.GetFullPath
ことは私には良くありません。
$(TargetPath)マクロ(プロジェクトプロパティの[ビルドイベント]タブ)に、アセンブリのフルパスが含まれていることに気付きました。DTEからプログラムでこの値にアクセスするにはどうすればよいですか?
実際の質問は、プロジェクトの絶対出力パスを取得するにはどうすればよいですか?