2011-01-01 21 views
3

ほとんどの人が知っているように、Visual Studioの検索ダイアログで使用される正規表現はare not the same as .NET Regexです。これは私にとって大変なPITAですが、しばしば正規表現でコードを検索する外部ツールに頼っています。Visual Studioの検索ダイアログで標準.NET正規表現を使用

だから、私は2つの質問があります。

  • をなぜ地球上のVSチームは、さらに別の新しい、非標準的な正規表現の構文を紹介したのですか?彼らは既存の.NET Regexクラスを使用できませんでしたか?私はこのための正当な理由を考えることができません...
  • 私は検索ダイアログボックスで標準の正規表現の構文を使用することができますそこにVS拡張子はありますか?

EDIT:それは、拡張を提供するため、二つ目は、実際にはもっと面白いです

:私は、Connect上の2つの関連する提案をしましたソリューション...

正規表現での検索を可能にするVS2010拡張機能(this oneなど)もありますが、標準の検索ダイアログには統合されておらず、「ファイル内で検索」機能はありません。

+1

VSチームはなぜ別の正規表現構文を導入しましたか?私は、正規表現ベースのFind&Replace *が.NET(つまりVisual Studio 6)よりも前になっていることをかなり確信していますので、使用するのはかなり難しいでしょう。そして、あなたは後方互換性の懸念のためにそれを置き換えることはできません... –

+0

VS正規表現はそれほど長い間存在していたので、デファクトスタンダードです。多くの人のうちの1人だけ。もちろん、別の標準をサポートすることは理にかなっています。または、2つは、C + +の顧客を忘れないでください。 connect.microsoft.comに問い合わせてください。奇妙な先のリクエストは見つかりません。 –

+0

@Hans Passant、私は実際にその問題の2つの要求を発見しました。詳細は更新された質問を参照してください。 –

答えて

1

Visual Studio 6はFind &を返します。using Regular Expressionsを置き換えます。このように、将来の製品/フレームワークを使用してこのような検索を行うことは難しいでしょう。

+0

はい、でも、私はVisual Studioの最初の.NETバージョンでは、既存のVS6コードベースの多くを使用していたとは思わない...彼らは.NET専用の新しいIDEを作成したので、 NET regexes –

+0

@Thomas - VS 2002を一から書き直すことはありませんでした。これは以前の多くの作業に依存していました。彼らが書き直したとしても、下位互換性の懸念がありました(彼らはVB2010を初めて起動したときにVB6時代のキーボードショートカットを提供しています...) –

+0

OKですが、おそらくそれらは "古いスタイル正規表現 "と" .NETの正規表現 "のオプション... –

関連する問題