FaqEditorEOLsJa

様々な改行文字はどのように扱われていますか?

NetBeans エディタは存在するファイルの改行文字を尊重します。 次のようにしてファイルをエディタドキュメントインスタンスに読み込みます。

  • ファイルの最初の行が読み込まれ、改行文字の種類が識別されます - 次の内の一つであることが期待されます
  • "\n" (LF)- Unix
  • "\r" (CR)- Mac
  • "\r\n" (CRLF) - Windows
  • ドキュメントインスタンス内で将来の保存操作のために改行文字の種類が記憶されます。
  • ファイルのすべての行が読み込まれ、その改行文字は (その種別にかかわらず) "\n" に置き換えられます。エディタが扱える改行文字の種類は "\n" のみです。
  • 保存操作の際、ドキュメント内のそれぞれの "\n" は記憶された改行文字種に変換されます。

注意: ファイル内に複数の改行文字種が混在する場合、元々の最初の行の改行文字種だけが保存の際に使用されます。

新規のファイル (雛形から作成) では、エディタはプラットフォームで既定の改行文字を使用します。

現在、改行文字の扱いに関する追加オプションはありません。

CVS を Windows と Unix プラットフォームにまたがって使用して作業するとき、改行文字がごっちゃになることが起こりえます。

ファイルを Windows プラットフォーム上でチェックアウトすると、CVS クライアントはリポジトリ中立な LF 改行文字を CRLF に変換します。もしこのファイルを後で Unix プラットフォーム上でチェックインすると CRLF は LF に逆変換されないのですが、これは UNIX CVS クライアントはそのファイルがそもそも UNIX 上でチェックアウトされたことを想定しており、従って変換は必要ないからです。そして CRLF は物理的に CVS リポジトリに格納されるのですが、これは問題に繋がります。もしこのようなファイルが Windows プラットフォーム上でチェックアウトされると、CVS クライアントは再び LF を CLRF に変換し、改行文字が CRCRLF になります。

CRCRLF 改行文字を読むとき、NetBeans エディタは Mac の CR 改行文字とそれに続く、Windows CRLF 改行文字を行末に伴う空行と出会うので、NetBeans はこのようなシーケンスに対して二つの改行文字 “\n\n”を作成します。見た目として、ドキュメントはテキスト一行毎の後に余計な空行を持つことになります。

この問題への解決策は、最初の問題を取り除くことです - Windows で元々チェックアウトされたファイルを Unix 上でコミットしない。もしすでに起きてしまったのであれば、CRLF を持つファイルを Unix 上でチェックアウトし、それを Windows CRLF シークエンスを適切に識別でき LF で書き戻せる外部エディタで開きます。たとえば ViM (Vi Improved) :set ff=unix が使用できます。


  バージョン: NetBeans 3.6、4.0、4.1、5.0
  プラットフォーム: すべて

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo