今日もやがてこの問題に巻き込まれました。毎回この問題を修正して先に進みますが、今回は根本的な原因を理解して修正しようとしましたが、私にとってうまくいった修正はこの質問への回答に含まれていないため、詳細を追加します:
私はEclipseでプラグインを使用していますが、問題はOPEGit
と同じでした。Eclipse比較ツールは、ファイル全体が変更されたかのように、ブロック全体ではなく、違いを強調していませんでした。
最初に問題を理解しましょう。これはvseolに関連していることを知っていたCRLF
のでLF
、最初にそれを確認し、次のように可視性を有効にしました。
Eclipse->設定->テキストエディタ->空白文字を表示
上記で、[可視性の構成]をクリックします。
上の画像で強調表示されているように、[トレーリング]の下のチェックボックスを選択し、Carrier Return (CR)
との両方に対して選択しますLine Feed (LF)
。
適用-保存して閉じます。私の場合、ファイルは次のようになりました。
これは、私がCRLF
eolのようなウィンドウを持っていたことを示しています。これは、core.autocrlf
設定していないためtrue
、デフォルトではEOL区切り文字について何も実行しようとしなかったためです(この場合は予想どおり)。false
Git
そしてこの段階まで、比較ツールはファイル全体を変更されたものとして表示していました。
今、私のために働いた修正に移動します。
IDEレルム内でこの修正を取得したかったので、最初に特定のファイルを次のようにUnix区切り文字に変換しました。
それから私のファイルはLF(Unix区切り文字)eolでなりました:
そして、比較ツールがデルタの強調表示を開始しました。
したがって、想定されていた問題は、CRLF
(ウィンドウスタイルの)eolおよびeclipseコンパレータが、ファイル全体ではなくデルタを強調表示できなかったことが原因でした。
次に、各ファイルまたはパッケージをUnix区切り文字に変更する代わりに。Eclipse->環境設定->ワークスペースで更新しました
これにより、eclipseは新しいファイルの行末を処理するUnix
ため、テキストファイルはWindows OSに固有ではない形式で保存され、異種の開発者デスクトップ間で最も簡単に共有されます。結局のところ、この比較ツールはこれまでになくうまく機能しました。
お役に立てれば。