Как я могу заставить Eclipse вставлять вкладки вместо пробелов для поддержки содержимого Java?

Можно ли убедить Eclipse использовать вкладки вместо пробелов для отступов от встроенных предложений поддержки контента Java (например, при создании пустого метода, который переопределяет метод в родительском классе)?

Единственный параметр, который я мог найти, который выглядел соответствующим, - Windows/Preferences/General/Editors/Text Editors/Вставка пробелов для вкладок, и этот параметр не установлен.

(EDIT: несколько плакатов указали политику Java/Code Style/Formatter/Indentation/Tab, которая настроена только на вкладки)

В настоящий момент я должен помнить о том, чтобы выбрать их и переформатировать с помощью <Ctrl>+<Shift>+<F>.

Ответ 1

Кажется, что в настоящее время ошибка (не фиксированная в 3.5-канальном):

ошибка 44755 (для комментариев, но также действительна для других операций JDT рефакторинга)

Также связан с ошибка 231832, в которой содержится ошибка в перезаписи AST...

Я считаю, что это проблема с ASTRewrite, а не с клиентом ASTRewrite. Мы должны убедиться, что параметры форматирования кода доступны для перезаписи часть.
Перемещение на JDT/Core для исследования.

Обнаружено в конце 3.4, все еще не зафиксировано в 3.5

Ответ 2

Я нашел решение, благодаря комментарию Саймона Никерсона выше, на что ссылался оригинальный плакат в его редактировании. После того, как я нашел настройку, я вижу, о чем они говорят. Однако путь к нему был дан в нескольких шагах от начала пути, поэтому он не дает четкого ответа людям, которые являются новыми для Eclipse или были вдали от него в течение нескольких лет, как и я. поэтому я дам полный путь здесь:

  • Перейдите в Project- > Properties.
  • В появившемся окне перейдите в "Стиль кода Java" → Formatter.
  • Нажмите ссылку "Настроить параметры рабочей области" в правом верхнем углу окна.
  • Нажмите кнопку "Редактировать" рядом с именем.
  • Измените поле "Политика табуляции:" на "Пробелы только", потому что вкладки являются злыми и неизбежно приводят к плохо отформатированному коду. > :-( Здесь также можно влиять на размер отступа и размер табуляции в ваших файлах.
  • Вам нужно будет изменить имя профиля в верхней части окна, чтобы сохранить изменения.
  • К счастью, как только вы нажмете "ОК", Eclipse будет использовать ваш профиль для вашего текущего проекта, поэтому вы сделаете это после этого шага.

Теперь, что действительно сломано, это тот факт, что эти настройки переопределяют более современный интерфейс для изменения настроек аналогичного звучания в "Windows/Preferences/General/Editors/Text Editors/Insert spaces for tabs". Для кого-то, относительно нового в редакторе, это похоже на место установки значения по умолчанию tabs = spaces. После нахождения реального ответа ясно, что это просто для общего редактирования текста, а настройки для языка необходимо настроить в профилях для языков. Тем не менее, это должно быть немного понятным для noob.; -)

Ответ 3

Посмотрите предпочтения в Java/Code Style/Formatter
Создайте свой собственный профиль и установите "Отступ" / "Политика табуляции" на "Только вкладки"

Ответ 4

Предпочтения > Java > Стиль кодa > Форматирование > Изменить > Отступы > Использовать вкладки только для указания верхнего отступа

Ответ 5

У меня есть настройка, чтобы включить "Формат исходного кода" в настройках "Редактор- > Сохранить действия".

Таким образом он переформатирует исходный код при сохранении.

Ответ 6

У меня также была эта проблема. Вопрос оказался некоторой конфигурацией, которая была похоронена где-то в моей рабочей области. Я создал новое рабочее пространство и повторно импортировал свой проект, и мои вкладки больше не были преобразованы в пробелы.

Ответ 7

Я убедился, что Edit > Smart Insert Mode не был проверен, и это, казалось, помогло мне при настройке настроек отступов и форматирования. Запуск Eclipse 3.7.0.

Ответ 8

Даже после установки параметра "Вставить пробелы для вкладок" в настройках "Текстовый редактор" И настройка моего профиля "Политика профайла" в "Пространства" только "Eclipse" по-прежнему вставляла символы табуляции. Только после удаления всех вкладок из файла он правильно вставлял пробелы для вкладок. Обнаружив это, я определил, что параметр "Вставки пробелов для вкладок" в настройках "Текстовый редактор", похоже, не имеет никакого эффекта, и это изменение политики вкладок профиля Formatter, которая достигает желаемых результатов.

Ответ 9

Еще одно решение, "работавшее для меня", даже если другие решения не работали (Версия: 3.8.1):

Предпочтения > Java > Стиль кодa > Форматирование > Редактирование > Отступы > Использовать пробелы для строк с отступом - Установить непроверенный

Это, по сути, опция "умные вкладки". Он работает для форматирования, но он неправильно устанавливает генерацию кода в использование пробелов. Раздражающе, решение нарушает форматтер.