コード生成
Visual Assistが提供する機能のごく一部を使用するだけでも、驚くほど速くコーディングを実行可能。さらにツールを使いこなすことで、コードの記述や更新が、比類ないスピードで実現できます。
前方宣言の追加
C/C++の未知のシンボルにすばやく宣言を追加
ポインタ変数の宣言をクラスに、というように、参照されたシンボルについて、現在の場所から前方宣言を追加します。
![Add a forward declaration](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/addForwardDeclaration.png)
メンバーの追加
クラスにメソッドやメンバー変数をすばやく追加
通常の作業フローを中断することなく、そのクラスへの参照から、メソッドやメンバー変数を追加します。
![Add a method or member variable](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/addMember.png)
表示されたダイアログで、新しいメソッドまたはメンバー変数のシグネチャを指定します。
![Specify the signature of the new method or member variable](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/specifySignature.png)
欠落したCase文の追加
switch文をすばやく拡張して、列挙型のすべての値をチェックさせるようにできます。
![Expand a switch statement too consider all values of an enum](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/caseMenu.png)
類似のメンバーの追加
既存のメンバーに類似するメンバーをクラス内に作成
任意の参照からリファクタリングメニューを開き、既存の参照と類似するメンバーをクラス内に作成できます。こうしたトップダウンスタイルのプログラミングでは、作業フローを中断することがありません。
![Add similar member](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/addSimilarMember.png)
追加したメンバーの名前を指定し、必要に応じてそのシグネチャを修正します。
![Specify the name of the new member](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/specifySimilarMember.png)
ディレクティブを使って追加
C#で共通の.NET typeを参照すると、Visual Assistが適切なusingディレクティブの追加を提案します。IDEが提供する類似機能とは異なり、ディレクティブは一提案として表示されるため、スマートタグを拡張する必要はありません。
![Visual Assist suggests adding the appropriate Using directive](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/addUsingDirective.png)
#includeの追加
C/C++で、ディレクティブを現在のファイルに追加して、シンボルをすばやく既知化
プロジェクトやソリューション、システム、サードパーティ ライブラリ内の既知のシンボルについて、#includeディレクティブを追加します。Visual Assistは、現在の位置を移動することなく、アクティブドキュメント上部近くの他のディレクティブの隣に、適切なディレクティブを挿入します。
![quickly add a directive to the current file to make a symbol known](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/addInclude.png)
カッコの追加/削除
カッコを追加して単純ステートメントを複合ステートメントに変換したり、単一行の複合ステートメントからカッコを削除して単純ステートメントに変換できます。カッコのトグル操作のショートカットを割り当てられます。
![Quickly convert a simple statement to a compound statement](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/bracesAdd.png)
宣言の作成
C/C++で任意のメソッドの実装から宣言をすばやく作成
単一の実装を持つメソッド宣言を作成します。Visual Assistは、作成された宣言を、対応するヘッダーファイル内の隣接メソッドの宣言の近くに置きます。ヘッダーファイルとソースファイルの型、戻り値およびパラメーターは一致しています。
![quickly create a declaration from any implementation](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/createDeclaration.png)
ファイルの作成
プロジェクト内でファイルをすばやく容易に作成
アクティブドキュメントと同一のディレクトリにファイルが作成し、自動的にプロジェクトに追加。VAスニペットを使用して、新規ファイルの初期内容を定義できます。再度コマンドを呼び出すと、自動的にヘッダーファイルが作成され、新しいソースファイルにインクルードされます。
![Create files in your project quickly and easily](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/createFile.png)
使用箇所からの作成
作業フローを中断することなく、シンボルを導入
定義されていないシンボルの名前を入力して、リファクタリングメニューを開き、現在の位置を離れることなく、シンボルを導入します。このトップダウンの開発スタイルは、列挙型、変数、関数、メソッドなど、多数のターゲットに有効です。
![Introduce the symbol without leaving your current position](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/introduceSymbol.png)
表示されたダイアログで作成したいターゲットをVisual Assistに指示します。
![Create from Usage](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/createFromUsage.png)
実装の作成
C/C++で任意の宣言から実装をすばやく作成
単一宣言をもつシンボルの実装を作成します。Visual Assistは、作成された実装を、対応するソースファイル内の隣接シンボルの実装の近くに置きます。ヘッダーファイルとソースファイルの型、戻り値およびパラメーターは一致しています。
![quickly create an implementation from any declaration](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/createImplementation.png)
メソッド実装の作成
C/C++クラスのすべてのメソッドの実装をシングルステップでまとめて作成
クラスを宣言したら、シングルステップでそのメソッド実装を作成できます。ヘッダーファイルとソースファイルの宣言と実装は一致しています。既に実装が存在する場合は、上書きや再作成は行われません。
![create implementations of all methods in a class](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/createMethodImplementations.png)
メソッドのドキュメント生成
メソッドの前にすばやくコメントブロックを追加
VAスニペットで定義されたフォーマットを使って、メソッドの前にコメントブロックを追加します。VAスニペット内の予約文字列がパラメーターと戻り値に応じて自動的に展開され、各要素は別々のコメント行に記載されます。
![Quickly add comment blocks before methods](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/documentMethod.png)
インターフェイス/仮想メソッドの実装
インターフェイス用スタブや基底クラスの仮装メソッドをすばやく生成
テキストキャレットが継承オブジェクト上にあるときにリファクタリングメニューを開くと、単一の継承インターフェイスまたはクラスからメソッドを実装できます。現在のクラス名上でリファクタリングメニューを開き、すべての継承オブジェクトからメソッドを実装します。
![Implement methods from a single inherited interface or class](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/implementInterface.png)
表示されたダイアログで実装するメソッドを選択します。
![Select the methods to implement in the dialog](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/implementMethods.png)
Visual Assist が定義用に空のスタブを作成します。
![Visual Assist creates empty stubs for definitions](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/createsEmptyStubs.png)
C/C++では、Visual Assistは宣言も作成します。
![In C/C++, Visual Assist also creates declarations](/Presentation/WholeTomato/Assets/Images/features/codeGeneration/createsDeclarations.png)