Как я могу заставить Eclipse вставлять вкладки вместо пробелов для помощи содержимому Java? - PullRequest
24 голосов
/ 14 апреля 2010

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

Единственный параметр, который мне удалось найти и который выглядел уместным, находится в Windows / «Установки» / «Общие» / «Редакторы» / «Текстовые редакторы» / «Вставить пробелы для вкладок», и этот параметр снят.

(РЕДАКТИРОВАТЬ: несколько авторов указали на политику Java / Code Style / Formatter / Indentation / Tab, для которой установлено значение «Только вкладки»)

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

Ответы [ 9 ]

25 голосов
/ 13 октября 2011

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

  1. Зайдите в Проект-> Свойства.
  2. В появившемся окне перейдите к «Java Code Style» -> Formatter.
  3. Нажмите ссылку «Настройка параметров рабочего пространства» в правом верхнем углу поля.
  4. Нажмите кнопку Изменить рядом с именем.
  5. Измените раскрывающийся список «Политика вкладок:» на «Только пробелы», поскольку вкладки являются злыми и неизбежно приводят к плохому форматированию кода. > :-( Здесь вы также можете повлиять на размер отступа и размер табуляции в ваших файлах.
  6. Вам потребуется изменить «Имя профиля» в верхней части окна, чтобы сохранить изменения.
  7. К счастью, как только вы нажмете «ОК», Eclipse будет использовать ваш профиль для вашего текущего проекта, так что вы закончили после этого шага.

Теперь, что действительно сломано, так это тот факт, что эти настройки переопределяют более простой интерфейс для изменения настроек с похожим звучанием в «Windows / Настройки / Общие / Редакторы / Текстовые редакторы / Вставка пробелов для вкладок». Для кого-то относительно нового для редактора это может показаться местом, где можно установить настройку по умолчанию для вкладок = пробелов. После нахождения реального ответа становится ясно, что это только для общего редактирования текста, и в профилях для имеющихся языков необходимо установить специфичные для языка настройки. Это должно быть немного понятнее для новичков. ; -)

8 голосов
/ 14 апреля 2010

Кажется, в настоящее время это ошибка (не исправлена ​​в поезде 3.5):

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

Также связано с ошибкой 231832 , включающей ошибку при переписывании AST ...

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

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

2 голосов
/ 14 апреля 2010

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

1 голос
/ 11 декабря 2011

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

1 голос
/ 25 августа 2011

Я убедился, что «Правка»> «Режим смарт-вставки» НЕ отмечен, и это, похоже, помогло мне, когда настройка параметров отступа и форматирования не работала. Запуск Eclipse 3.7.0.

1 голос
/ 01 сентября 2010

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

1 голос
/ 14 апреля 2010

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

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

1 голос
/ 14 апреля 2010

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

0 голосов
/ 16 марта 2015

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

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

По сути, это опция «умных вкладок». Это работает для форматера, но неправильно устанавливает генерацию кода только с использованием пробелов. Досадно, что решение ломает форматер.

...