Android レイアウトの診断
Android レイアウト 診断は、一般的な品質の問題と役に立つ最適化を強調表示することで、Android レイアウト ファイルの品質を向上させるために設計されています。 この機能は、Visual Studio 16.5 以降と Visual Studio for Mac 8.5 以降の両方で使用できます。
さまざまな問題に対して既定のアナライザー セットが用意されており、プロジェクト固有のニーズに合わせてそれぞれをカスタマイズできます。 アナライザーは、Android リンティング システムに大まかに基づいています。
Visual Studio 2019 で Android レイアウト 診断を有効にする
レイアウト診断設定 [レイアウト診断を有効にする] が有効になっていることを確認します。 このオプション ページにアクセスするには、[ツール>] [オプション] の順に選択し、[テキスト エディター] [Android XML>詳細設定] の順に>選択します。
有効にすると、Android レイアウト エディターに問題が表示されます。
特徴
次のセクションでは、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>
注意
現在、唯一の変数はMAX_VIEW_COUNT
、それぞれ (既定値: 80) と MAX_DEPTH
(既定値: 10) TooDeepLayout
TooManyViews
です。
重大度レベルは次のとおりです。
- 提案される解決策
- Info
- 警告
- エラー
- Ignore
構成ファイルを追加する
Android アプリ プロジェクトのルートに新しい XML ファイルを作成します。 ファイルの名前は重要ではありませんが、この例では を使用 AndroidLayoutDiagnostics.xml
します。
新しい XML ファイルが追加されると、Android アプリ プロジェクト ツリーに表示されます。
ビルド アクションがプロパティ パネルで AndroidResourceAnalysisConfig に設定されていることを確認します。 新しいファイルのプロパティ パネルをプルする最も簡単な方法は、ファイルを右クリックしてプロパティを選択することです。 プロパティ パネルが表示されたら、 ビルド アクション を AndroidResourceAnalysisConfig に変更する必要があります。
空の XML ファイルが作成されたので、ルート要素を追加する <configuration>
必要があります。 この時点で、サポートされている問題の既定の動作を調整できます。
ハードコーディングされた文字列がエラーとして扱われるようにする場合は、次のように追加します。
<issue="HardcodedText" severity="error">
</issue>
ハードコーディングされたテキストがエラーと見なされたので、レイアウト エディターで赤い波線でフラグが設定されるようになりました。
注意
新しい構成ファイルの変更を有効にするには、現在開いているレイアウト ファイルを再度開く必要があります。
トラブルシューティング
考えられる一般的な問題を次に示します。
- XML 形式エラーがないことを確認します。
- ビルド アクションは、 AndroidResourceAnalysisConfig に正しく設定されています。
既知の問題
- エラー パッドは、ファイルが最初に変更されるまで設定されません。