web-dev-qa-db-ja.com

ハードコードされたソース文字列をすべて検索します

ハードコードされたすべての文字列を.resxファイルのソースコードに移動する必要があります。 C#コード内のすべてのハードコードされた文字列を見つけるのに役立つツールはありますか?

65
Cornel

ReSharper 5は当然の選択ですが、目標を達成するには多くのヒントを設定する必要があります。

  1. ソリューション全体の分析をオンにします。
  2. ReSharper | Options | Code Inspection | Inspection Severity | Potential Code Quality Issues | Element is localizableに移動してShow as errorに設定します。
  3. ソリューションエクスプローラーに戻り、プロジェクト(csproj)をクリックします。
  4. プロパティパネルのReSharperカテゴリで、LocalizableをYesに、Localizable InspectorをPessimisticに設定します。

次に、必要なほとんどすべてのエラーをソリューションパネルで見つけることができます。

お役に立てれば。

60
Lex Li

すべての.csファイルで"サインインをいつでも検索できます。これで、ほとんどノイズが発生することなく、ほとんどの場所にアクセスできます。

3
David Hedlund

または、次のように正規表現に基づいて検索を実行します。

https://vosseburchttechblog.azurewebsites.net/index.php/2014/12/16/find-all-string-literals-in-c-code-files-but-not-the-ones-in-コメント/

(?=(^((?!///).)*$)).*((".+?")|('.+?')).*
2

このツール http://visuallocalizer.codeplex.com/ を使用すると、他の機能とともに、文字列をリソースにバッチ移動できます。 FOSSなので、ぜひお試しください。 (私は関与しています)

2
j_maly

Resharper 5.0(Beta) を使用すると、文字列をリソースに移動できます(ローカライズ機能が組み込まれています)。試してみる。ベータ版は問題なく動作します。毎日使用しており、問題はありません。何よりも、ベータ版がなくなるまで無料です。安定しているように見えるため、 night builds の使用をお勧めします。

ソフトウェアのローカリゼーションとグローバリゼーションは常に困難であり、時には開発者にとって望ましくない作業です。 ReSharper 5は、C#およびVB.NETコードだけでなく、ASP.NETおよびXAMLマークアップでのresxファイルおよびリソースの使用に関する機能の完全なスタックを提供することにより、リソースの操作を大幅に簡素化します。

専用の機能には、文字列をリソースに移動、リソースの使用状況の検索、その他のナビゲーションアクションがあります。リファクタリングのサポート、検査、修正と組み合わせると、便利なローカリゼーション環境が得られます。

1
MadBoy

いくつかはFxCopで見つかります。制限がわからないので、パラメータとプロパティ名に依存すると思います(たとえば、「Text」と呼ばれるプロパティはローカライズされていると見なされます)。

0