1

コードのブランチで、すべてのコードをからに変更しました。obj.varnameコードを比較するときは、同じである obj("varname")ため、これらの違いを無視したいと思います。varname

必要だと思う正規表現がありますが、残念ながら、スクーターのBeyondCompareを使用して比較を無視することはできません。

^obj\("\w*"\)|obj\.\w*$

私はこのチュートリアルに従っていますhttp://www.scootersoftware.com/support.php?zz=kb_unimportantv3

だから私の質問:これは比較を超えてさえ可能ですか?はいの場合は、手順を含む解決策を共有するか、スクリーンショットを投稿してください。

4

1 に答える 1

3

Beyond Compare 3のProfessionalエディションは、テキスト置換機能を通じてこれをサポートしています。Standard Editionライセンスをすでに購入している場合は、試用モードに戻してテストする必要があります: http ://www.scootersoftware.com/suppo...?zz=kb_evalpro

  1. テキスト比較で2つのファイルをロードします。
  2. [セッション]メニューから[セッション設定]ダイアログを開き、 [置換]タブで[新規]をクリックして新しい置換を作成します。
  3. 編集を見つけるためのテキストで、(\w+)\.(\w+)
  4. [編集で置換]で、$1("$2")
  5. [正規表現]チェックボックスをオンにします。

obj.varname別の方法は、およびのインスタンスをobj("varname")重要でないものとしてマークすることです。基本的な手順は次のとおりです。

  1. テキスト比較で2つのファイルをロードします。
  2. [セッション]メニューから[セッション設定]ダイアログを開き、 [重要度]タブで[文法の編集... ]ボタンをクリックします。
  3. 次のダイアログで、上部のリストボックスの下にある[新規... ]ボタンをクリックします。
  4. [要素名]フィールドを便利なもの(「PropertyAccess」など)に変更します。
  5. カテゴリ*リストに変更します。
  6. [テキストのリスト*編集]で、次の2行を追加します。

    obj.varname
    obj("varname")

  7. [ OK ]をクリックして[文法項目]ダイアログを閉じ、もう一度[ OK ]をクリックして[テキスト形式*]の文法項目を閉じます。

  8. [セッション設定]ダイアログの[文法要素]リストボックスで[ PropertyAccess](または名前を付けたもの)のチェックを外し、[ OK ]をクリックして閉じます。

このアプローチは、それほど柔軟でもクリーンでもありません。上記の手順では、特定のハードコードされたオブジェクト名と変数名を照合しているため、obj.varname重要でobj.othervarはありませんが、に対して整列されている場合でもそうではありませんobj("othervar")。両側のテキストが重要でない場合、違いは重要ではありません。一方が重要である場合、それは重要な違いになります。したがって、上記の手順では、どこでも重要ではobj.varnameありobj("varname")ませんが、それらの定義と一致する(したがって重要ではない)他のケースと一致するか、一致しない他のケースと一致するため、正しく機能しますその定義は重要であり、違いを重要にします。

正規表現を使用して、より一般的なテキストカテゴリに一致させることができますが、おそらくそうしたくないでしょう。たとえば、そのパターンに従ったすべてのテキストを一致させたい場合は、代わりに次の2行を使用できます。

\w+\.\w+
\w+\("\w+"\)

次に、 [文法項目]ダイアログの[正規表現]チェックボックスをオンにして、そのように一致させます。

その長所/短所は、これらのパターンに一致するテキストは重要ではないということです 両方が重要でない定義と一致するため、abc.newvarvs 。は重要でない違いと見なされます。def.varnameこれはコメントや空白の変更などには適していますが、おそらくここでやりたいことではありません。

于 2012-08-15T16:19:29.563 に答える