次の方法で共有


Android レイアウト診断

Android レイアウト診断は、一般的な品質の問題と役立つ最適化を明示することで、Android レイアウト ファイルの品質の向上を支援するためのものです。 この機能は、Visual Studio 16.5+ と Visual Studio for Mac 8.5+ の両方で利用できます。

幅広い問題用の既定のアナライザー セットが用意されており、プロジェクト固有のニーズを満たすようにそれぞれをカスタマイズできます。 アナライザーは、Android リンティング システムにわずかに依存しています。

Visual Studio 2019 で Android レイアウト診断を有効にする

レイアウト診断設定の [レイアウト診断の有効化] が有効になっていることを確認します。 このオプション ページにアクセスするには、以下のように、[ツール]>[オプション] を選択した後、[テキスト エディター]>[Android XML]>[詳細] を選択します。

Options dialog showing how to enable diagnostics option

有効にすると、Android レイアウト エディターに以下のように問題が表示されます。

Android diagnostics enabled on Visual Studio 2019

機能

次のセクションでは、Android レイアウト診断で利用できる機能の概要を説明します。

アナライザー

アナライザーは、レイアウト ファイルの問題を検出し、ハードコーディングされた値を減らし、パフォーマンスを向上させ、エラーにフラグを付けるために使用されます。 アナライザーの一覧については、「Android デザイナー診断アナライザー」を参照してください

診断構成

アナライザーは XML ファイルを使用して構成でき、既定の重大度レベルを変更したり、特定のファイルを無視したり、変数を渡したりできます。

複数の Android アプリ間で共有したい構成のセットがある場合は、ベースライン ファイルを使用できます。 この機能を使用するには、新しい構成ファイルを作成し、ファイル名に -baseline を追加します。 ベースライン構成が最初に適用された後に、残りの構成ファイルが適用されます。

ヒント

これは、新規または既存の Android アプリで一連の問題を無視したい場合に便利です。

形式は次のようになります:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration>
    <issue id="DuplicateIDs" severity="warning">
        <ignore path="Resources/layout/layout1.xml" />
    </issue>
    <issue id="HardcodedText" severity="informational">
        <ignore path="Resources/layout/layout1.xml" />
        <ignore path="Resource/layout/layout2.xml" />
    </issue>
    <issue id="TooManyViews">
        <variable name="MAX_VIEW_COUNT" value="12" />
    </issue>
    <issue id="TooDeepLayout">
        <variable name="MAX_DEPTH" value="12" />
    </issue>
</configuration>

Note

現在、存在する変数はそれぞれ TooManyViewsTooDeepLayout に対する MAX_VIEW_COUNT (既定値: 80) と MAX_DEPTH (既定値: 10) だけです。

重大度レベルは次のとおりです。

  • 推奨事項
  • 情報
  • 警告
  • エラー
  • Ignore

構成ファイルを追加する

Android アプリ プロジェクトのルートに新しい XML ファイルを作成します。 ファイルの名前は重要ではありませんが、この例では以下のように AndroidLayoutDiagnostics.xml を使用します。

Add New Item

新しい XML ファイルが追加されると、以下のように Android アプリ プロジェクト ツリーに表示されるはずです。

Android App Project Tree

プロパティ パネルで、ビルド アクションが AndroidResourceAnalysisConfig に設定されていることを確認します。 新しいファイルのプロパティ パネルを引き出す最も簡単な方法は、ファイルを右クリックしてプロパティを選択することです。 プロパティ パネルが表示されたら、以下のように、[ビルド アクション]AndroidResourceAnalysisConfig に変更する必要があります。

Set Build Action in Item Properties

これで空の XML ファイルが作成されるので、<configuration> ルート要素を追加する必要があります。 この時点で、サポートされている問題の既定の動作を調整できます。 ハードコーディングされた文字列がエラーとして扱われるようにしたい場合は、以下を追加します。

<issue="HardcodedText" severity="error">
</issue>

Diagnostics Configuration File

これでハードコーディングされたテキストがエラーと見なされるようになり、以下のようにレイアウト エディター内で赤い波線でフラグが設定されるようになります。

Layout using Diagnostics Configuration

Note

構成ファイルの新しい変更内容をすべて有効にするには、現在開いているレイアウト ファイルをすべて開き直す必要があります。

トラブルシューティング

考えられる一般的な問題を以下に示します。

  • XML 形式のエラーがないことを確認します。
  • ビルド アクションを AndroidResourceAnalysisConfig に正しく設定します。

既知の問題

  • エラー パッドは、ファイルが最初に変更されるまで設定されません。