私は何人かの友人と小さなプロジェクトを開発していますが、インデントの問題に直面しています。私たち一人一人が異なるエディタを使用しており(私たち全員が異なるお気に入りを持っています:)、また異なるオペレーティングシステムを使用しています。
すべてを一緒に開発し、プログラミングエディタをインデントとエンコーディングが同じになるように設定できるようにするための最良のソリューションは何ですか?どのような設定をお勧めしますか、またその理由は何ですか?
私は何人かの友人と小さなプロジェクトを開発していますが、インデントの問題に直面しています。私たち一人一人が異なるエディタを使用しており(私たち全員が異なるお気に入りを持っています:)、また異なるオペレーティングシステムを使用しています。
すべてを一緒に開発し、プログラミングエディタをインデントとエンコーディングが同じになるように設定できるようにするための最良のソリューションは何ですか?どのような設定をお勧めしますか、またその理由は何ですか?
バージョン管理システムで行末の問題を処理する必要があります。SVNでは、「svn:eol-style」プロパティを「native」に設定して、行末の自動変換を処理できます。コードはASCIIまたはUTF8であると想定しているため、文字エンコードに問題はありません。
書式設定に関しては、中かっこを配置する場所など、大まかにいくつかのスタイルを選択する必要がありますが、同じ数のインデントを使用する場合は、同じインデントスタイルを使用する必要はありません。これは紛らわしい説明なので、説明させてください。ほぼすべてのIDEには、タブ幅を任意の値に設定する機能があります。1人のチームメンバーが2文字の幅、別の4文字の幅をインデントするのが好きな場合は、それで問題ありません。ファイルに保存されている1つのタブ文字は、IDE設定に基づいてどちらの方法でも表示できます。タブでインデントするようにIDEを構成してから、必要に応じてタブ幅を設定するだけです。
(炎上戦争を始める危険を冒して、これが私がタブ対スペース戦争のタブの陣営にしっかりといる理由です。奇妙なことに、スペースの人々はこれがスペースを使用する理由を非常に特徴としていると考えているようです...私は決してしませんそれらを理解する)。
独自のインデント設定を使用する必要がある場合は、タブ文字のみを使用してコードをインデントする必要があります。(さまざまな編集者がこれをサポートしている場合)。
このアプローチは、スペースを使用し、インデントの目的でスペースのみを使用するという一般的なコンセンサスに反しています。
何をするにしても、タブを共通の数のスペースに変換することをお勧めします。Eclipseがその場でこれを実行できることは知っていますが、gvimのような編集が実行できるかどうかはわかりません。いずれにせよ、すべてのスペースで、タブを構成するスペースの数を解釈するのは個々の編集者/IDEの責任ではありません。また、誰かがWindowsエディター/ IDEを使用している場合は、Unixスタイルの改行を使用するように設定して、別のOSで編集するときにすべての行の最後に迷惑な^Mが表示されないようにします。