Understandの標準設定では、様々な拡張子のファイルが解析の対象として登録されています。
今回は、Understandに標準で設定されている拡張子だけではなく、任意の拡張子を解析対象に含める方法について、「GUIによる操作」と「コマンドによる操作」の2通りの方法を紹介します。
GUIによる操作
新規プロジェクトを作成する際に任意の拡張子を追加
- [新規プロジェクト ウィザード]ダイアログの言語を選択する画面で、解析する言語にチェックを入れ、[次へ]ボタンをクリックします。
- [新規プロジェクト ウィザード]ダイアログのソースファイルを追加する画面で[ディレクトリの追加]をクリックします。
- [ディレクトリの追加]ダイアログの”設定済みフィルター”右側の[…]ボタンをクリックします。
- [設定済みフィルターの選択]ダイアログの[設定]ボタンをクリックします。
- [プロジェクトのファイルタイプを設定]ダイアログの[新規]ボタンをクリックします。
- [新規ファイルタイプの追加]ダイアログで、”拡張子”に任意の拡張子を入力(先頭のドットは必要ありません)、”言語”に解析対象となる言語を選択し、[OK]ボタンをクリックします。
- [設定済みフィルターの選択]ダイアログで、必要な任意のフィルターにチェックが入っていることを確認し、[OK]ボタンをクリックします。
- [ディレクトリの追加]ダイアログで、任意の拡張子を含む解析ファイルを登録し、解析を実行します。
コマンドによる操作
プロジェクトに任意の拡張子を解析対象に含めるためには、undコマンドの「settingsコマンド」を使用します。
「settingsコマンド」については、過去に「undコマンドによる新規プロジェクト作成」や「undコマンドによるプロジェクトの設定情報の操作」で紹介しています。
今回は、任意の拡張子を解析対象に追加するコマンドを加えた状態で、新規プロジェクトを作成する方法を紹介します。
1. Understandのプロジェクトを新規作成します。
例: und create -languages C++ -db C:\myproject.udb
2. 任意の拡張子を解析対象に追加します。
まずは、「listコマンド」で指定可能なオプション名を取得します。
例: und list -all settings -db C:\myproject.udb
出力結果:
※本来は、拡張子とそれに対応する言語の情報がすべて表示されますが、この記事ではわかりやすくするため、言語に「C」と「C++」が設定されている拡張子のみをまとめています。
——–General Settings——–
…
FileTypes:
Extension Language
.C C++
.H C++
.c C
.cc C++
.cpp C++
.cxx C++
.h C++
.hh C++
.hpp C++
.hxx C++
.inl C++
…
——–
任意の拡張子を解析対象に含めるために、settingsコマンドで指定するオプション設定項目の文字列を以下のように適用します。
- 接頭辞:-
- 設定ヘッダー名:general
- スペース・クォートを除外した設定名:FileTypes(設定を追加する場合にはAddを末尾に加えます)
- 設定値:{Extension}={Language}
{Extention}={Language}で拡張子と言語を指定します。
上記を組み合わせると、オプションは「-generalFileTypesAdd {Extension}={Language}」となります。
また、{Extention}={Language}を半角スペースで区切ることにより、複数の設定をまとめて追加することもできます。
und settings -generalFileTypesAdd {Extension}={Language} -db {udbファイル}
例:und settings -generalFileTypesAdd .c++=C++ -db C:\myproject.udb
例では、言語「C++」に、拡張子「.c++」を追加しています。
3. 解析対象のファイルを登録します。
今回は解析対象のファイルが含まれているディレクトリを指定して、プロジェクトにファイルを登録します。
例: und add C:\Understand -db C:\myproject.udb
4. プロジェクトを解析します。
例: und analyze -db C:\myproject.udb
任意の拡張子を解析対象に含めることで、標準で設定されている拡張子以外のファイルへの依存関係なども確認できるようになります。