構成ファイルを使用したコード アナライザー チェックのカスタマイズ
コード アナライザーはコードをチェックし、エラー、警告、および情報メッセージを報告します。コード アナライザーを構成することで、コードの潜在的な問題を特定し、プロジェクト固有のコーディング規約を適用できます。たとえば、行の長さや関数のサイズに制限を設定したり、命名規則を適用したりすることで、コードの可読性を向上させられます。コード アナライザー チェックをカスタマイズするには、構成ファイルを作成してコードに適用します。
構成ファイルの作成
コード アナライザーを構成するには、resources フォルダー内に codeAnalyzerConfiguration.json という名前のファイルを作成します。構成ファイル内で、既存のコード アナライザー チェックを変更し、カスタム チェックを追加できます。構成したチェックを適用するフォルダー内に resources フォルダーを追加します。このファイルでは、resources フォルダーの親フォルダーおよびその親フォルダーのすべてのサブフォルダーのコード アナライザー チェックを構成します。

サンプルの構成ファイル
このコードは、サンプルの構成ファイルの内容を示しています。このファイルは JSON 形式を使用しており、// は後続のテキストがコメントであることを示します。
{
// Basic File Information
"name": "Acme Corp Guideline",
"guidelineVersion": "1.0.0",
// Base Configuration Settings
"baseConfiguration": "factory",
// Modified and New Checks
"checks": {
"GVMIS": {
// Do not use global variables
"severity": "error"
},
"MyFunctionCheck": {
// Disallow use of evalin function
"rule": {
"template": "functionCall",
"functionNames": "evalin"
},
"severity": "error",
"messageText": "Do not use evalin.",
"enabled": true
}
},
// Naming Conventions
"naming": {
// Set naming conventions for functions and variables
"function": {
"maxLength": 32,
"casing": ["lowerCamelCase","lowercase"]
},
"variable": {
"maxLength": 32,
"regularExpression": "(^[a-z][a-zA-Z0-9]*$)|(^[A-Z][a-z0-9]*$)"
}
}
}基本的なファイル情報
オプションとして、構成ファイルの先頭に基本的なファイル情報を含めることができます。関連ファイル情報を含む文字列として、次のプロパティを 1 つ以上指定します。これらのプロパティは構成に影響しません。
| プロパティ名 | 説明 | 例 |
|---|---|---|
"name" (オプション) | 構成ファイルの名前 | "name": "Acme Corp Guideline" |
"description" (オプション) | 構成ファイルの説明 | "description": "Internal Acme Coding Guidelines" |
"author" (オプション) | 作成者名 | "author" : "Alex" |
"schemaVersion" (オプション) | "1.2.3" 形式のスキーマ バージョン | "schemaVersion" : "1.1.0" |
"guidelineVersion" (オプション) | "1.2.3" 形式のガイドライン バージョン | "guidelineVersion" : "1.0.0" |
基本構成設定
構成ファイルでは、標準 MATLAB® コード アナライザー構成、または最も近い親フォルダーの resources フォルダーに配置された別の基本構成ファイルからルールを継承するよう設定できます。プロパティ "baseConfiguration" を使用して、ルールの継承元となるファイルを指定します。
| プロパティ名 | 説明 | 例 |
|---|---|---|
"baseConfiguration" (オプション) | ルールの継承元となる基本構成ファイル。次の値のいずれかとして指定します。
| "baseConfiguration" : "factory" |
コード アナライザーがより一貫して動作するようにするには、コード ベースのルートにある構成ファイルでは "baseConfiguration" を "factory" に設定し、コード ベース内のより深く入れ子にされた構成ファイルでは "baseConfiguration" を "closestParentFolder" に設定します。
カスタム チェックの構成
codeAnalyzerConfiguration.json ファイル内で、 "checks" プロパティおよび "naming" プロパティを追加してカスタム チェックを指定します。以下の操作を実行できます。
"checks"プロパティで既存のコード アナライザー チェックを変更し、新しいチェックを作成します。"naming"プロパティで命名規則のチェックを指定します。
たとえば、次のコードは既存のグローバル変数チェック "GVMIS" の重大度を警告からエラーに変更します。
"checks": {
"GVMIS":
{
// Increase severity of the default global variable check
"severity": "error"
}
}メモ
コード アナライザー メッセージの重大度を変更しても、コード実行には影響しません。チェックの重大度が "error" に設定されている場合も、コードは実行されます。ただし、構文エラーについては、重大度を変更したりメッセージを無効にしたりしても、引き続き実行が妨げられます。
"checks" プロパティを使用すると、メッセージ テキストを変更したり、チェックを無効にしたりできます。また、行の長さや関数のサイズ、入れ子の深さ、関数の引数の数について、指定した制限を超えるコードを検出するようにチェックを構成することも可能です。さらに、カスタム チェックを作成することで、特定の関数や変数の使用に対してフラグを設定できます。詳細については、Modify Existing Code Analyzer Checks or Create New Checksを参照してください。
"naming" プロパティを使用すると、異なるタイプの MATLAB 識別子の命名規則を定義することで、一貫したコーディング スタイルを適用できます。詳細については、Check for Certain Naming Conventions in Your Codeを参照してください。
構成の更新と確認
MATLAB セッション中に新しい構成ファイルを resources フォルダーに追加したり、既存の構成ファイルを更新したりしても、MATLAB エディターは自動的に最新の構成を取得しません。これは、構成が MATLAB セッションの開始時にのみキャッシュされるためです。
新規または更新された構成ファイルを現在の MATLAB セッションに適用するには、matlab.codeanalysis.refreshConfiguration を呼び出してキャッシュを更新します。
matlab.codeanalysis.validateConfiguration 関数を使用して、そのファイルが有効な JSON 構成ファイルであることを確認できます。