Eclipse に Java コンテンツ アシスト用のスペースではなくタブを挿入させるにはどうすればよいですか?
-
26-09-2019 - |
質問
Eclipseに、組み込みJavaコンテンツ支援提案(親クラスのメソッドをオーバーライドする空のメソッドを作成する場合など)のインデントにスペースではなくタブを使用するように説得する方法はありますか?
関連性があると思われる唯一の設定は、Windows/環境設定/一般/エディタ/テキスト エディタ/タブのスペースの挿入にあり、この設定はオフになっています。
(編集:何人かの投稿者が、Java / コード スタイル / フォーマッタ / インデント / タブ ポリシー (「タブのみ」に設定されている) を指摘しています)
現時点では、それらを選択して再フォーマットすることを忘れないでください。 <Ctrl>+<Shift>+<F>
.
解決
現在のバグ(3.5電車の中で固定されていない)のようです
のバグ44755コメント(のをが、他のリファクタリングJDT操作のためにも有効)
また、ASTのバグを含むバグ231832 の、にリンクされています書き換え...
私は、これは
ASTRewrite
と、ないASTRewrite
のクライアントに問題があると考えています。 私たちは、設定フォーマッターコードが書き換えのために利用可能であることを確認する必要があります 一部。
調査のためJDT/Core
に移動します。
後半3.4で検出され、まだ3.5
で固定されていません他のヒント
上記の Simon Nickerson のコメントのおかげで、私は解決策を見つけました。これは元の投稿者が編集で言及していたことです。設定を見つけた後、彼らが何を話しているのかがわかりました。ただし、そこへの道はパスの最初から数ステップで示されているため、Eclipse を初めて使用する人や、私のように数年間 Eclipse から離れていた人には明確な答えを与えることができません。ここにフルパスを指定します。
- 「プロジェクト」→「プロパティ」に移動します。
- 表示されたボックスで、「Java コード スタイル」->「フォーマッター」に移動します。
- ボックスの右上にある「ワークスペース設定の構成」リンクをクリックします。
- 名前の横にある「編集」ボタンをクリックします。
- タブは邪悪であり、必然的にコードのフォーマットが不十分になるため、「タブ ポリシー:」ドロップダウン ボックスを「スペースのみ」に変更します。>:-( これは、ファイル内のインデント サイズとタブ サイズに実際に影響を与えることができる場所でもあります。
- 変更を保存するには、ボックスの上部にある「プロファイル名」を変更する必要があります。
- ありがたいことに、[OK] をクリックすると、Eclipse は現在のプロジェクトにプロファイルを使用するため、この手順は完了です。
さて、本当に壊れているのは、これらの設定が、「Windows/環境設定/全般/エディタ/テキスト エディタ/タブのスペースの挿入」にある同様の設定を変更するためのより前面のインターフェイスをオーバーライドするという事実です。エディターに比較的慣れていない人にとって、これはデフォルトのタブ = スペース設定を設定する場所のように見えるでしょう。本当の答えを見つけた後、これは一般的なテキスト編集のみを目的としており、言語固有の設定を手元の言語のプロファイルでセットアップする必要があることがわかりました。ただし、これは初心者向けにもう少し明確にする必要があります。;-)
のJava /コードスタイル/フォーマッタ
の好みで見てください
「唯一のタブ」に独自のプロファイルとのセット「インデント」/「タブポリシー」を作成します。
設定>のJava>コードスタイル>フォーマッタ> [編集]> [インデント>使用タブのみ導くためのインデントのチェックボックス
私はそれのセットアップ持っている方法は、Editorの>保存アクションの設定で「書式のソースコードを」有効にすることです。
その方法は、それが保存上のソースコードを再フォーマットします。
私もこの問題を抱えていました。問題は、私のワークスペース内のどこかに埋葬されたいくつかの構成であることが判明しました。私は、新しいワークスペースを作成し、私のプロジェクトを再インポートして、私のタブは、任意のより多くのスペースに変換されませんでした。
私は、[編集]> [スマート挿入モードがチェックされていないことを確認しました、そしてそれは私の構成インデントと書式設定の設定はしませんでした仕事の助けに見えました。 Eclipseの3.7.0を実行します。
でも、テキストエディタの環境設定のタブオプションの挿入スペースを設定し、唯一のEclipseはまだタブ文字を挿入したスペースに自分のフォーマッタプロファイルタブのポリシーを設定した後。唯一のファイルからすべてのタブを削除した後にそれが正常にタブのスペースを挿入しました。これを発見した後、私はどんな効果があるとは思われないテキストエディタの環境設定のタブオプションの挿入スペースを決定し、そしてそれは、所望の結果を達成しフォーマッタプロファイル]タブポリシーの変更です。
しかし、他のソリューションは、仕事(バージョン:3.8.1):なかった場合でも、「私のために働いた」という別のソリューション
インデント折り返し行に設定>のJava>コードスタイル>フォーマッタ> [編集]> [インデント>使用スペース - セット未確認
これは、本質的に「スマートタブ」のオプションです。これは、フォーマッタのために動作しますが、それは間違ってスペースのみを使用してにコード生成を設定します。うるさく、解決策は、フォーマッタを壊します。