ファイルやフォルダを解析対象から除外する

概要

Sider Scan では、特定のファイルやフォルダを解析対象から除外することができます。この機能を使って解析に不必要なファイルを除外することで、解析時間を減らすことができます。また、コードクローン判定や問題のあるコードの検出の際のノイズを低減できます。設定方法は、”.scanignore” という名称のテキストファイルを解析対象となるルートフォルダに配置し、解析から除外するファイルやフォルダを記述するだけです。記述方法は、Git における”.gitignore” と同じ記法になります。ご活用下さい。

設定方法

解析対象となるルートフォルダに、”.scanignore” というテキストファイルをエディタ等で作成します。”.scanignore” の中身は、Git におけるファイル除外機能である “.gitignore” ファイルと同一のフォーマットになります。以下では、基本的な記述方法を説明します。詳しくはGit のマニュアルを参照下さい。

ファイルの除外
除外したいファイル名を記述します。

.DS_Store

これにより.DS_Store という名前のファイルが解析から除外されます。

フォルダ(ディレクトリ)の除外

除外したいフォルダ(ディレクトリ)名を記述します。フォルダ名の最後にスラッシュ / を入れるのを忘れないようにして下さい。

3rdparty/
logs/

これにより3rdparty フォルダとlogs フォルダが解析から除外されます。

ワイルドカード

アスタリスク * は、 スラッシュ / を除く0個以上の文字にマッチします。例えば、*.cc と記述すると、拡張子 cc を持つ全てのファイルを解析対象から除外できます。
クエスチョンマーク ? も、ワイルドカードとして使用できますが、アスタリスクと異なり、スラッシュ / を除く任意の1文字にマッチします。

除外の無効化

エクスクラメーションマーク ! を使って、除外されたファイルの除外を無効化できます。例えば以下の例では

*.md
!Readme.md

ルートフォルダにある全ての.md ファイルは解析の対象から除外されますが、Readme.md は除外されません。

ダブルアスタリスク

ダブルアスタリスク ** は、任意の数のフォルダにマッチさせるために使用します。例えば、**/logs と書くと、logsという名前のすべてのファイルまたはフォルダを除外します。
logs/**/*.log と記述した場合、logsフォルダとその全てのサブフォルダにある.log の拡張子をもつ全てのファイルを除外します。

コメント

で始まる行#はコメントになります。

# exclude MacOS file
.DS_Store
# exclude log files
logs/