問題タブ [extensibility]
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.
plugins - プラグイン機能を追加するための提案?
コードに拡張機能をプログラミングするための一般的な手順はありますか?
システムのコアコードを変更するのではなく、ある種のプラグインAPIを介して機能を拡張できるように、作成しているシステムに拡張タイプの機能を追加するための一般的な手順は何でしょうか。
そのようなことは、システムが書かれた言語に依存する傾向がありますか、それともこれを可能にする一般的な方法がありますか?
visual-studio - プロジェクトのプロパティ ページを拡張するには?
Visual Studio 2008 のプロジェクト プロパティ ページにカスタム タブを追加することはできますか? 私がやりたいことは、デフォルトのプロジェクト テンプレート (WPF アプリケーション、WPF カスタム コントロール ライブラリなど) から作成されたプロジェクトのプロパティ ページにカスタム タブを追加できるようにすることです。
visual-studio - Visual Studioのさまざまなフォルダー/プロジェクトで(単体)テストを個別に実行するにはどうすればよいですか?
VisualStudioで単体テストと統合テストのテスト実行を簡単に分離する方法についてアドバイスが必要です。多くの場合、または常に、上の図に示すようにソリューションを構成します。単体テストと統合テストの別々のプロジェクトです。単体テストは非常に頻繁に実行されますが、統合テストは、コンテキストが正しく調整されている場合に自然に実行されます。
私の目標は、キーボードショートカットを使用するときに実行するテスト(またはテストフォルダー)をなんとかして構成できるようにすることです。テストは、グラフィカルなテストランナー(ReSharpers)によって実行されることが望ましいです。だから例えば
- Alt + 1は、プロジェクトBLL.Testでテストを実行します。
- Alt + 2は、プロジェクトDAL.Testsでテストを実行します。
- Alt + 3はそれらの両方を実行します(つまり、[Tests]フォルダー内のすべてのテストと
- Alt + 4は、フォルダー[Tests.Integration]でテストを実行します。
TestDriven.netには、選択したフォルダーまたはプロジェクトを右クリックして[テストの実行]を選択することにより、テストのみを実行するオプションがあります。これを行うことができますが、キーボードコマンドを介してグラフィカルなテストランナーを使用すると素晴らしいでしょう。
現在、VS2008、ReSharper 4、nUnitを使用しています。ただし、一般的なセットアップに関するアドバイスももちろんありがたいです。
.net - .NETにプラグインをロードする方法は?
ソフトウェアで動的にロード可能なプラグインを作成する方法を提供したいと思います。これを行う一般的な方法は、LoadLibrary WinAPI関数を使用してdllをロードし、GetProcAddressを呼び出してそのdll内の関数へのポインターを取得することです。
私の質問は、C#/。Netアプリケーションでプラグインを動的にロードするにはどうすればよいですか?
visual-studio - ローカリゼーションを支援する Visual Studio 2008 のツール
ローカリゼーションのためにリテラル値をリソース ファイルに移動するのに役立つツールの推奨事項はありますか?
RGreatX と呼ばれる resharper プラグインを使用しましたが、他に何かあるかどうか疑問に思っていました。
弦を横に移動するのは非常に長い手動プロセスであり、もっと良い方法があるに違いないと思います! RGreatX は問題ありませんが、少し滑らかになる可能性があります。
visual-studio - VisualStudio分離シェルのソース管理
私は、シェルを使用して特定のタスクを実行する「デザイナー/特別なコンテンツ作成者」に対応する分離シェルを開発しています。ファイルを操作するため、ソース管理にTFSを使用できる必要があります。これは主に、開発者がTFSの同じファイルを操作するが、VisualStudio2008を使用するという事実によるものです。
探して検索した後でも、シェルで使用できるチームエクスプローラーが見つかりませんでした。MSDNフォーラムで質問すると、「これは分離シェルではまだサポートされていません」という答えに導かれます。そうですね、ファイルにソース管理システムを使用したいのであれば、シェルを提供するという全体的なポイントは正当化されません。アイデアは、TFSプロバイダーAPIを使用して、すべてを再作成し、ツールウィンドウなどを開発することではありません。
KeyvenNayyeriによるVisualStudioExtensibilityの本には例がありますが、これは、scプロバイダーを追加するというこの問題についてのみ説明しています。
Visual Studio 2008の分離シェルアプリケーション/環境の開発に取り組んだ人はいますか?コメント、質問を提供してください-私がすでに参加している以下のスレッド以外にあなたが共有しなければならないことは何でも。
MSDNフォーラムからのスレッド:
ご回答有難うございます。はい、その通りです。VisualStudioを購入しなくてもユーザー用のCALを取得します。これが、私たちがとる方向です。
しかし、Shell内で、そのようなユーザーがTeamExplorerを利用できるようにする方法はまだわかりません。だから私はそれがどのように行われるかについての技術的な詳細を見つけたいと思っています。
つまり、私にはユーザーがいて、彼は私のVS Shellアプリケーションをインストールし、彼のマシンにはVStudioTeamシステムがありません。TFS用のCALを取得してTeamExplorerをインストールすると、VS Shellアプリで自動的に利用できるようになると思いますか?
何か案は?これを実現するために取り組んだことがありますか?
ありがとう
visual-studio - Visual Studio の拡張性: 既存のフォルダーをプロジェクトに追加する
Visual Studio 2008 の拡張機能を使用して、インターフェイスの解析後にさまざまなメッセージを含むプロジェクト フォルダーを作成するアドインを作成しようとしています。ただし、フォルダーの作成/追加の段階で問題があります。使ってみました
(アイテムは、同じ名前で「メッセージ」が追加されたフォルダーを作成している隣のターゲットファイルです)が、フォルダーが既に存在する場合はチョークします(大きな驚きはありません)。
次のように、既に存在する場合は削除してみました。
デバッグ中にフォルダーが削除されることがわかりますが、それでもフォルダーがまだそこにあり、フォルダーが既に存在するという例外で死ぬと考えているようです。
何か案は???
ありがとう。
AK
....おそらく答えは、削除後にプロジェクトをプログラムで更新することにあるでしょうか? これはどのように行うことができますか?
visual-studio - 「製品開発のワークフロー (プロセス)」を実装するための最適なパターン/ソリューションは何ですか?
現在:
現在、製品開発は .Net テクノロジを使用して Visual Studio で行われているため、同じツール セットを使用することが重要です。開発者以外の役割は、スプレッドシート、ドキュメント、作図ツール、フォトショップを使用して作業を行っています。
未来:
製品開発のためのワークフロー (ロール、アクション アイテムのキュー、あるロールから別のロールへの情報の受け渡し、承認などを含む一連のプロセス) を構築したいと考えています。ソフトウェア製品は永遠に拡張段階にあり、このフローを確立する理由がさらにあります。
一般的なユーザーは、デザイナー、ビジネス アナリスト、コンテンツ作成者、開発者、コード レビュー担当者、テスターです。
新しいウェブページを開発する必要があるとしましょう。そうなる、
- アナリストがツールで考えた、何らかの形式で情報を入力します
- デザイナーはドラッグ アンド ドロップを使用してページの外観を構築し、それを
- ページにコンテンツ (ヘルプ テキスト、ハイパーリンク、純粋なテキストなど) を追加するコンテンツ作成者
- 開発者は自分のキューをチェックして、このページの周りにロジックの構築を開始し、機能するようにします。
Visual Studio Isolated shell をツール フレームワークとして使用することを考えています。主な理由は、これを構築するための IDE 機能などです。同様の一連の要件に取り組んだ人はいますか? VS Shell パラダイムでこれを行う方法に関するパターン/ソリューション/アイデアはありますか?
更新: Visual Studio Team System は開発者とテスターによって既に使用されていますが、TFS で利用できるカスタマイズされたワークフロー (およびアナリスト、デザイナーなど) はありません。また、Visual Studio は、ナビゲーション フローの定義、ページ要素の設計などを行いたい開発者以外のユーザー向けの場所ではありません。
c# - データを保存する最良の (無料の) 方法は? ファイルシステムの更新はどうですか?
この問題を解決する方法についてのアイデアはありますが、私の問題にもっと簡単で拡張可能なものがあるかどうか知りたいと思っていました.
私が取り組んでいるプログラムには、2 つの基本的な形式のデータがあります。画像と、それらの画像に関連付けられた情報です。画像に関連付けられた情報は、非常に単純な JET データベース (4 つのテーブル) に以前に格納されていましたが、格納されたフィールドが遅く、不完全であることが判明しました。データ ストレージの新しい実装に移行しています。関連するデータ構造の単純さを考えると、データベースはやり過ぎだと思っていました。
各画像には独自の情報 (キャプチャ パラメータ) があり、相互に関連する画像のグループの一部 (たとえば、同じ 30 分間に撮影されたもの) になり、全体としてより大きなグループの一部 (同じ人物が撮影されたもの) になります。 )。現在、一意の識別子を持つ辞書に人を保存しています。次に、各人物にはさまざまな写真グループのリストがあり、各写真グループには写真のリストがあります。これらのクラスはすべてシリアライズ可能で、辞書をシリアライズおよびデシリアライズしているだけです。かなり簡単なもの。辞書が天文学的なサイズにならないように、画像は個別に保存されます。
問題は、新しい情報フィールドを追加する必要がある場合、どうすればよいかということです。潜在的な将来のリビジョンを考慮して、これらのデータ構造をセットアップする簡単な方法はありますか? 以前は、C でこれを処理する方法は、将来の拡張性のために多数の空のバイト (少なくとも ak) を持つシリアル化可能な構造体を作成し、構造体のバイトの 1 つでバージョンを示すことでした。次に、プログラムが構造体を読み取ると、大規模な switch ステートメントに基づいて、どの逆シリアル化を使用するかがわかります (無関係なデータは無視されるフィールドに入るだけなので、古いバージョンでは新しいデータを読み取ることができます)。
そのようなスキームはC#に存在しますか? 同様に、String オブジェクトと Int オブジェクトのグループであるクラスがあり、その構造体に別の String オブジェクトを追加した場合、ディスクからオブジェクトを逆シリアル化し、それに文字列を追加するにはどうすればよいでしょうか? 複数のバージョンのデータ クラスと、逆シリアル化ストリームを受け取り、基本クラスに格納されているバージョン情報に基づいて逆シリアル化を処理するファクトリを保持する必要がありますか? または、ディスク上のすべてのフィールドを自動的に逆シリアル化する Dictionary のようなクラスは、この種の情報を格納するのに理想的ですか?新しいフィールドが追加された場合は、例外をキャッチして、それらの値を空の文字列と Int に置き換えることができますか?
辞書のアプローチを採用した場合、ファイルの読み取り/書き込みやパラメーターの取得時間に関連する速度低下はありますか? クラスにフィールドしかない場合、フィールドの取得は瞬時に行われますが、ディクショナリでは、そのクラスに関連する小さなオーバーヘッドが発生します。
ありがとう!
c - C 用の IDE を簡単に拡張
機能を簡単に追加できる、LinuxのC 用のシンプルな IDE/エディターが必要です。例: エディタに右クリック メニュー項目と関連するアクションを追加したいと考えています。必要な機能を簡単に拡張して追加できる必要があります。私はEclipse CDTを試しましたが、私がやりたい小さな変更のために行うには、多くの学習(EclipseプラグインアーキテクチャとCDT拡張ポイントなどを知ることを意味します)が必要です。
ありがとう、サチン