12

Microsoft の Visual Studio 6.0 IDE を使用して「レガシー」コードをサポートする必要がある人もいますが、意見は異なるかもしれませんが、Visual Studio シリーズの IDE の後のバージョンと比較して、一般的にユーザーフレンドリーであるとは見なされていません。

だから、あなたの最高の隠された/不十分に文書化された IDE 機能のいくつかについて聞きたいです (C++ または VB のいずれかである可能性があります)。通常どおり、投稿ごとに 1 つの機能を使用してください。

4

14 に答える 14

19

前回 VB6 を使用しなければならなかったときは、Windows の他のすべてのプログラムで文字通り動作するマウスのスクロール ホイールが機能しなかったので、怒りに震えながら飛び出そうとしました。これは、VB6 の時代と、Microsoft が何年にもわたってスクロール ホイールの機能をどのように変更してきたかに関係しています。

この男はそれを機能させるプログラムを書きました。

(そして、Microsoftが同様に修正を行ってから数年のように見えます)

于 2008-10-08T21:19:26.760 に答える
12

VB6の場合、MZ-Toolsは素晴らしい無料のアドインです。私のお気に入りの機能は、検索機能と、ボタンをクリックするだけで特定のルーチンのすべての発信者を検索する機能です。他にもいくつかの機能があり、そのうちのいくつかは時々役に立ちます。

于 2008-09-29T03:33:59.300 に答える
9

VB6 のカスタム コード テンプレート

これが本当に「隠れた」機能なのかどうかはわかりませんが、時間の節約になるといつも思っていました。

クラス、モジュール、フォームなどの独自のカスタム テンプレートを作成し、IDE で使用できるようにすることができます。たとえば、私は通常Collection、VB6 コードで厳密に型指定されたクラスを使用するのが好きです。したがって、単純な古い の代わりに、オブジェクトのみFooCollectionを保持する が必要になる場合があります。新しい厳密に型指定された が必要になるたびにインターフェイスを再実装する必要がないようにしたいので、定型コードをすべて含む新しいクラス テンプレートを作成しました。プロジェクトに新しいクラス モジュールを追加するときはいつでも、カスタムテンプレートをオプションとして利用できるようになりました。次に、新しく追加したクラスの名前を変更し、「As Object」をすべて「As Foo」に置き換えます (Foo はコレクションに保存するオブジェクトのタイプです)。これで完了です。FooCollectionCollectionCollectionCollectionTypedCollectionFooCollection

カスタム クラス テンプレートの例に沿って、次のようにします。

  1. IDE を開き、新しいプロジェクトを開始します (ここで何を選択してもかまわないため、通常は標準 EXE を使用します)。
  2. プロジェクトに新しいクラスを追加します。これがテンプレートになります。
  3. テンプレート クラスをコーディングします。基本的には、他のプロジェクトで再利用したい定型コードを書くだけです。これはストレートな VB コードであり、特別なことは何もありません。
  4. 完了したら、ファイルをC:\Program Files\Microsoft Visual Studio\VB6\Template\Classesフォルダーに保存します (注: などの他のサブフォルダーFormsは、他の種類のテンプレート用です)。拡張子を除いた .cls ファイルの名前が IDE に表示されるので、通常は読みやすくするためにファイル名にスペースを含めます。
  5. 次に IDE を開いて をクリックProject->Add Class Moduleすると、使用可能なクラス テンプレートのリストにテンプレート クラスが表示されます。
于 2008-09-30T03:17:32.857 に答える
7

ファイルC:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\AUTOEXP.DATを編集して、カスタム クラスの意味のある値をデバッグ ウォッチ ウィンドウに表示するためのルールを追加できます。

つまり、これです。次のように定義された日付構造があります。

typedef struct tagMHDATE
   {
   short int  nDay;      // Day of the Month  1..31
   short int  nMonth;    // Month of the Year 1..12
   short int  nYear;     // Year
   } MHDATE, FAR *LPMHDATE;

このコードがある場合:

MHDATE today;
GetDate(&today);

...ウォッチ ウィンドウにドロップtodayすると、次のように表示されます。

today    {...}

これを AUTOEXP.DAT の末尾に追加します (これは単なるテキスト ファイルです)。

tagMHDATE=date=<nMonth>/<nDay>/<nYear>

...そして今、ウォッチ ウィンドウに次のように表示されます。

today    {date=10/8/2008}
于 2008-10-08T21:10:57.807 に答える
6

VB6のErl関数。VB6コードに行番号を指定すると、エラーハンドラーで、関数Erlの戻り値を介してエラーが発生した行番号にアクセスできます。

于 2008-09-29T03:30:32.227 に答える
6

これは、時間を大幅に節約した VS C++ の機能から始めます。デバッガーのウォッチ ウィンドウで Unicode 文字列に ",su" (引用符なし) を追加すると、文字列の値を表示できます (その文字列のメモリアドレスではなく)

于 2008-09-29T02:41:30.253 に答える
5

ここにはかなりのヒントとコツがあります。私のお気に入りは@err,hr 、ウォッチ ウィンドウに配置してエラー メッセージを取得することです。

于 2008-10-08T21:01:19.777 に答える
4

VC6の場合は、 WholeTomatoのVisualAssistXのコピーを入手してください。これには、スマートな(そして使用可能な)Intellisenseの置換、はるかに豊富なコードカラーリング、いくつかのリファクタリングサポート、およびその他の多くの機能が含まれています。最も間違いなく投資する価値があります。

于 2008-09-29T03:30:53.910 に答える
4

VB6 の起動に使用するショートカットの [開始] プロパティを、ソース コード ディレクトリのルートに変更します。これにより、IDE 内からプロジェクトを開くたびに無駄なマウス クリックを何度も行う必要がなくなります。

于 2008-10-15T21:50:12.440 に答える
3

CodeShine: VB6 コード リファクタリング アドイン (無料)。メソッドの抽出、説明変数の導入、関数の抽出、説明変数の導入、名前の変更などのリファクタリングが含まれます。

http://www.wsdesigns.com/CodeShine/default.htm

于 2008-10-01T02:27:14.047 に答える
2

クイック マクロは、常に私の個人的なお気に入りでした。それ自体は実際には隠された機能ではありませんが、非常に便利であり、VC6 は、(MS が .NET を使用するようにマクロ エンジンを書き直す前に) 十分に高速であった最後のバージョンでした。

于 2008-10-08T20:50:30.237 に答える
1

Shift-Alt-Enter でエディタ ウィンドウのサイズを拡大

于 2008-09-29T02:50:47.703 に答える
0

実際には VB6 IDE の機能ではありませんが、バインドされていないリストビューに大量のデータを入力する必要がある場合は、入力プロセス中に非表示にすると、おそらく 10 倍高速化されます。

于 2008-10-23T11:24:06.083 に答える
0

「他の人の質問に対する回答に満足できない場合は、自分で始めるべきですか?」という質問に対する私の回答です。すべてのソース パスを VC++ に事前設定する方法を示します。これは、コマンド ラインからビルドし、msdev を使用してデバッグする私たちにとって便利です。

于 2008-10-08T21:11:42.500 に答える