16

How to automatically remove unused units from uses section on all source files of the project on Delphi XE2?

P.S. IDE will work much faster after that.

4

5 に答える 5

18

これを完全に自動化する方法はありません。

私が知っているいくつかのツールは、ウィザードのアプローチを採用しています。

Peganza のツールは、レポートを表示するだけです。CnPack は未使用のユニットを削除するように促しますが、確認する必要があります。Lazarus は未使用と思われるユニットのリストを表示しそれらの一部またはすべてを削除するかどうかを選択します。

なぜ自動化されていないのですか?

これは静的分析だからです。最も洗練されたツールでさえ、実行時に特定のコード行が使用されるかどうか、さらにはユニット全体が使用されるかどうかを 100% 確実に判断することはできません。これらのツールは、この偉業を達成するために独自のパーサーを実装していますが、絶対確実ではありません。

いずれにせよ、uses 句をクリーンアップする主な利点は、ソース自体とコード補完機能の両方から視覚的な煩雑さを取り除くことです。はい、コンパイル中にいくらかのパフォーマンスが向上し、特定の IDE バックグラウンド操作がわずかに高速化されますが、IDE が奇跡的に高速化すると考えるとがっかりするでしょう。

次の方法により、IDE とコンパイラのパフォーマンスが向上します。

  1. プロジェクトを個別に作業できる小さなピースに分割します。
  2. 重複コードの排除。
  3. 不要な IDE パッケージを無効にします。

未使用のユニット参照を削除することを思いとどまらせようとしているわけではありません。私が言ったように、それはあなたのソースを整理するのに役立ちます. 正しい理由でそれを行っていることを確認してください。

于 2013-07-22T20:20:22.453 に答える
4

Usesセクションで不要なユニットを自動的に削除するツールが必要だとは思わない...

しかし、それらを識別するためのツールがあります... Icarus を見てください... http://www.peganza.com/downloads.htmで入手できるフリーウェア

于 2013-07-22T19:36:11.240 に答える