タブの代わりにスペースを使用するようにEclipseを変更するにはどうすればよいですか?


895

デフォルトでは、Eclipseはハードタブ文字でインデントします。どうすればスペースに変更できますか?


43
@ i3ensaysの理由は、スペースは常に一貫しているのに対し、タブは異なるエディターや環境では異なる方法で表示されるためです。
mmmdreg 2014

29
@mmmdreg正確に私のポイント。スペースは堅固で無駄です。タブを使用すると、ビューアを自由に編集して、必要に応じてエディタを構成できます。タブを2つのスペースとして表示したいのですが、同僚4です。これは、タブを使用しないと実現できません。ここにいる私の同僚、そして私は、それぞれのエディターでそれぞれのフォーマットを設定するときの戦いの場です。タブは問題ではありません。これが彼らが発明された理由です(私はそう思います)。
i3ensays 2014

15
@ i3ensaysアーメン、兄弟!私は10年以上にわたってこの概念を人々に理解してもらうよう努めてきました(rizzoweb.com/java/tabs-vs-spaces.html)。本当に私を驚かすのは、プログラマーとして、誰もが抽象化の概念を理解するだろうと思います(タブはコードのインデントの抽象化であり、固定数のスペースはハードコーディングされた実装です)-悲しいかな多くのプログラマーはここでは抽象化を見ることができません。
E-Riz 2014年

28
@ i3ensaysチームには、コードのフォーマット方法を明確に示すコーディング標準が必要です。これはあなたが言及した戦いを防ぐことで時間を節約します。できるだけ早く採用する必要がありますが、この聖戦は100年前に「宇宙の人々」によって勝利されたため、タブは使用されないことが100%確実に示されているため、基準は役立ちません。アラインメントの問題は別として、スペースのみの最大の理由の1つは、リビジョン管理ツールやコードレビューアがこの問題に対処する必要がないことです。私はこの戦いの20年前にあなたの側から始めましたが、最終的には宇宙を受け入れることを学びました。

12
その理由は、人々は必然的にタブとスペースの組み合わせになってしまい、一部のエディターではコードが正しく表示されないためです。誰もがスペースを使用するだけなら、これは決して問題にはなりません。
Eamonn McEvoy 14

回答:


1239

Javaエディター

  1. [ ウィンドウ] » [ 設定]をクリックします
  2. 展開のJava » コードのスタイルを
  3. フォーマッタをクリックします
  4. 「編集」ボタンをクリックします
  5. インデントタブをクリックします
  6. 下では一般設定、設定タブのポリシーをするには:Spaces only
  7. [ OK ad nauseam]をクリックして変更を適用します。

[ :必要に応じて、デフォルトのプロファイルとして新しい名前でプロファイルを保存することはできません。]

デフォルトのテキストエディタ

バージョン3.6より前:

Window->Preferences->Editors->Text Editors->Insert spaces for tabs

バージョン3.6以降:

  1. [ ウィンドウ] » [ 設定]をクリックします
  2. 展開全般 » エディタ
  3. [ テキストエディター]をクリックします
  4. タブの挿入スペースをチェック
  5. [ OK ad nauseam]をクリックして変更を適用します。

デフォルトのテキストエディターは、Eclipseの多くの非Javaエディターの基礎として使用されることに注意してください。この設定が3.3まで利用できなかったことは驚くべきことです。

C / C ++

  1. [ ウィンドウ] » [ 設定]をクリックします
  2. 展開C / C ++ » コードのスタイルを
  3. フォーマッタをクリックします
  4. [ 新規 ]ボタンをクリックして新しいプロファイルを作成し、[ OK ]をクリックして続行します
  5. インデントタブをクリックします
  6. 下では一般設定、設定タブのポリシーをするには:Spaces only
  7. [ OK ad nauseam]をクリックして変更を適用します。

HTML

  1. [ ウィンドウ] » [ 設定]をクリックします
  2. 展開のWeb » HTMLファイルを
  3. エディターをクリック
  4. 下でのフォーマット、選択した空間を使用してインデントをラジオボタンを
  5. [ OK]をクリックして変更を適用します。

CSS

HTMLについても同じ手順に従いますが、HTMLファイルではなくCSSファイルを選択します

JSP

デフォルトでは、JSPファイルはHTMLファイルのフォーマット設定に従います。

XML

XMLファイルの間隔は設定で構成されます。

  1. [ ウィンドウ] » [ 設定]をクリックします
  2. 展開XML » XMLファイルを
  3. エディターをクリック
  4. スペースを使用してインデントを選択
  5. 必要に応じてインデントサイズを指定できます。インデントするスペースの数です。

19
MyEclipseがインストールされているか、Eclipseの上に他のIDEが構築されている場合は、設定を上書きする別のエディターがある可能性があります。これは、MyEclipseとJavaScriptの場合です。テキストエディタで「タブのスペースを挿入する」設定を有効にしましたが、スペースの代わりにタブがまだ使用されていました。私はそれを1日呼び出してバグとして書き留めようとしていましたが、「関連エディター」リストにJavaScript(* .js)ファイル用の2番目のエディターが表示されました。
ジョン

5
これは役立つヒントになるかもしれませんが、同じ動作が発生する場合は、ファイルに他のエディターが関連付けられているかどうかを確認してください。これを行うには、[ウィンドウ]> [設定]> [一般]> [編集者]> [ファイルの関連付け]に移動し、そのリストで1日を台無しにしているファイル拡張子を探し、それをクリックして、下の[関連付けられた編集者]リストを確認します
John

106
既存のJavaファイルの場合は、Ctrl-Aを押してすべてを強調表示してから、Ctrl-Iを押して現在のインデントを適用します。それ以外の場合、既存のタブはEnterで作成された新しい行のスペースを防ぎます。また、既存のタブをスペースで置き換えます。
topchef 2011

4
C / C ++の場合、C / C ++-> "Code Style"も変更する必要があります。これは、この他の点では優れたソフトウェアの中で、最も迷惑なものです。
ダッシュ1993

3
詳細については、C / C ++およびEcplipse 3.6以降の場合、2番目のステップは、[ウィンドウ]> [設定]> [C / C ++]> [コードスタイル]> [フォーマッター]> [新規]で、任意のプロファイル名を選択し、Open the edit dialog now有効になっていることを確認して、を押しOK、次にIndentationタブでは、あなたが表示されますTab Policy。に設定しSpaces Onlyます。
Garrett

150

デフォルトのテキストエディタの場合:

  • 一般的な » エディター » テキストエディター » Insert spaces for tabs (チェックする)

PHPの場合:

  • PHP » コードスタイル » フォーマッタ » Tab policy (「スペース」を選択)
  • PHP » コードスタイル » フォーマッタ » Indentation size (4に設定)

CSSの場合:

  • ウェブ » CSS » エディター » Indent using spaces (選択してください)
  • ウェブ » CSS » エディター » Indentation size (4に設定)

HTMLの場合:

  • ウェブ » HTML » エディター » Indent using spaces (選択してください)
  • Web » HTML » Editor » Indentation size (4に設定)

XMLの場合:

  • XML » XMLファイル » エディター » Indent using spaces (選択)
  • XML » XMLファイル » エディター » Indentation size (4に設定)

JavaScriptの場合:

  • JavaScript » 設定 » コードスタイル » フォーマッタ » 編集 » Indentation (「スペースのみ」を選択)
  • フォーマッタ設定プロファイルの名前を変更して保存します

Javaの場合:

  • Java » 設定 » コードスタイル » フォーマッタ » 編集 » Indentation (「スペースのみ」を選択)
  • フォーマッタ設定プロファイルの名前を変更して保存します

設定のルートにWebまたはJavaScriptオプションが表示されていません(ただし、Webパースペクティブを使用できます)。また、html、css、およびjavascriptファイルのみのスペースとしてタブを設定したいと思います。私はJava開発者向けのHelios Eclipseを使用していますが、そのオプションを取得する方法はありますか?
ダニー2011

これらの設定は、Eclipse PDT(PHP開発ツール)に表示されるものです。Eclipse PDTは、JavaScript開発ツール(JSDT)とさまざまなWebフォーマットのソース編集を含むEclipse WTP(Web Tools Platform)上に構築されています。これはおそらく欠けているものです。
Patrick Fisher

デフォルトの設定が一般的なテキストエディターの設定をオーバーライドするため、Javaスタッフの+1。
Giulio Piancastelli

Cの場合、コードスタイル->フォーマッタ->編集->インデント->一般設定->タブポリシー
アンドリュークック2013

1
ありがとう!これは火星でうまく機能します。テキストエディターのオプションがまだ存在していて何もしないのは残念です。
パイエゴ2015年


26

以下のためのCDT

  • 行く ウィンドウ/プリファレンス » C / C ++ » コードスタイル » フォーマッタ »
  • 組み込みのプロファイルは変更できないため、新しいプロファイルを作成してください
  • MyProfile (プロファイルの名前を1つ選択してください)
  • インデント » Tab Policy (スペースのみを選択)

23

このスレッドを偶然見つけた人のための簡単なヒントです。プロジェクトには、この設定を行う場所もう1つあります。

Eclipseはプロジェクト固有の設定をサポートしており、一部のプロジェクトは独自の管理されていないタブ/スペース設定を使用しますが、現在のプロジェクトのプロパティ以外には表示されません。

これは次の方法で管理できます。

  • パッケージエクスプローラーで現在のプロジェクトを右クリック
  • プロパティ » Javaコードスタイル
  • ターンオフすべてのプロジェクト固有のオプションを

これは通常、他の誰かのコードをEclipseにインポートした場合にのみ問題になります。


19

デフォルトエディタの場合:

ウィンドウ » 設定 » エディター » テキストエディター »Insert spaces for tabs

ここに画像の説明を入力してください

Javaエディターの場合

ウィンドウ » 設定 » Java » コードスタイル » フォーマッター » 編集 »インデント » Tab policy "スペースのみ"

ここに画像の説明を入力してください


9

この問題に直面したとき、「タブのスペースを使用する」を見つけられるすべての場所でtrueに設定しましたが、それでもまだタブが表示されていました。ファイルの他の場所でタブが使用されていて、スマートなインデントやイライラすることを試みていたためです。

この問題は、ファイルのコンテンツ全体を選択し、Macではを押すことで解決しましたcommand+shift+f。これは、指定されたフォーマットをファイルに適用します。Windowsでの同じキーバインドはわかりませんが、試してみてください。その時点で、期待した動作が得られます。


この問題をよりモジュール的に修正するために、ユーザーは検索/置換\t(正規表現が有効になっていることを確認)を行い、希望するスペース文字で置き換えることもできます
jlewkovich

Windowsでファイルをフォーマットするためのキーは非常に似ています- Ctrl+Shift+F
A.Alessio

5

C / C ++開発者向けEclipse IDE、バージョン:Helios Service Release 2

"Window-> Preferences-> Code Style"内のNewボタンを押して新しいプロファイルを作成する必要があります

[インデント]タブに移動し、[タブポリシー=スペースのみ]を選択します


C / C ++開発者向けEclipse IDE、バージョン:Kepler Service Release 1

以下のパスに従って新しいプロファイルを作成します。「ウィンドウ>設定> C / C ++>コードスタイル>フォーマッタ」

[インデント]タブに移動し、[タブポリシー=スペースのみ]を選択します


5

「タブにスペースを挿入」設定上書きするため、Javaフォーマッタを必ず確認してください。移動:

Java->Code Style"->Formatter->Edit->Identation

注:構成を保存できるようにするには、カスタム形式を作成する必要があります。


5

私はこの問題の解決策が非常に単純であり、常に機能することを発見しました。日食設定ファイルの変更です。

例(HTMLインデントサイズを変更):


  1. org.eclipse.wst.html.core.prefs存在するはずのファイルが見つかりましたyour_workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/
  2. ファイルの行に追加/変更:
indentationChar=space

indentationSize=4

1
Ubuntu 14.04.03 LTSとEclipse 4.5では、IDサイズを変更できません。常にロックされており、変更できません。これは私の問題を解決しました。
TekTimmy、2015

5

行く[ウィンドウ ] - > [ プリファレンスと型タブ(下記のようなダイアログが表示されます)検索テキストとして:

ここに画像の説明を入力してください

強調表示されたセクションに移動して、タブポリシーを変更します。ためのエディタ設定は主にあるスペース用いインデント(上記の図を参照します)。

フォーマッタの設定エディットにアクティブなプロファイルを必要と更新タブポリシーを `の下で(利用可能インデント > - 一般的な設定を

ここに画像の説明を入力してください


3

ウィンドウ->設定-> Java->コードスタイル->フォーマッタ->編集->インデント= "スペースのみ"


3

Eclipseで[ ウィンドウ] »[ 設定]に移動し、[ フォーマッタ]を検索します。

さまざまな太字のリンクが表示され、各太字のリンクをクリックして、use spaces代わりにに設定しますtabsます。

Javaフォーマッタリンクではspaces only、インデントタブでプロファイルを編集し、タブポリシーを選択する必要があります


2

両方のタブポリシーをお見逃しなく*スペースのみ*スペースを使用して折り返された行をインデント

私は後者だけをチェックし、コンボボックスをタブのみのままにして、CheckStyleに失敗し続けました。参考までに、設定> Java>フォーマッタ>編集...


2

Eclipse形式のxmlの場合:

タブの場合:

<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>

スペース:

<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>

0
  • [ウィンドウ]»[設定]をクリックします
  • Javaを展開»コードスタイル
  • フォーマッタをクリックします
  • 新規をクリック
  • プロファイル名を選択してください
  • OKをクリック
  • 「編集」ボタンをクリックします
  • インデントタブをクリックします
  • [全般設定]で、タブポリシーを次のように設定します。スペースのみ
  • OKをクリックします。

0

.editorconfigファイルの使用も検討してくださいhttps ://marketplace.eclipse.org/content/editorconfig-eclipse 。Eclipseを使用していない人もこれから恩恵を受ける可能性があり、最悪の場合、それはガイドラインとして役立ちます。注:私はタブ対スペースウォーズを入力しませんが、スペースFTWを使用します:-)


0

他の回答の補足として、Mac OS Xでは、[設定]メニューはウィンドウではなく Eclipseの下にあります(Windows / Linux Eclipseディストリビューションとは異なります)。他のすべては、この時点を過ぎて他の回答によって指摘されたものと同じです。

IE:以下で利用可能なJava Formatter:

Eclipse >      | # Not Window!
Preferences >  |
Java >         |
Code Style >   |
Formatter      |

ここから、フォーマッタを編集し、タブポリシーを[インデント]で設定できます。


0

Mac OS Xのeclipse mars(EE)では、設定でこれを見つける唯一の方法は、[設定]ダイアログを開いて「フォーマッター」と入力し、[Java]-> [コードスタイル]-> [フォーマッター]を選択することでした。

Java-> Code StyleはFormatterにアクセスできません!


0

そして、ANTエディターもお忘れなく

何らかの理由で、Antエディタがの検索結果に表示されない、'tab'または'spaces'見逃される可能性があります。

以下の下でのWindows > プリファレンス

  • Ant » Editor » Formatter » Tab size: (4に設定)
  • Ant » Editor » Formatter » Use tab character instead of spaces (チェックを外す)

0

間違いなくXMLファイルを使用して、コーディングスタイルのフォーマッターを構成できます。フォーマッタファイルを使用すると、チームメンバー全体で同じコーディングスタイルとガイドラインを使用できます。

これらの設定変数を追加するa tab= 2 spacesと、EclipseTabを使用してコーディングするときにおそらく短縮キーを使用する場合でも、スペースに変換されます。

<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>    
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="yes"/>

ベスト、

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.