Статьи

Eclipse Global Preferences

 
 
 
 
 

 


Оцените это

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

Предупреждение: изменение глобальных настроек eclipse может нарушить установку eclipse. Так что лучше иметь резервную копию измененных файлов под рукой!

Здесь я использую CodeWarrior на основе Eclipse для MCU10.2 , но все вещи практически одинаковы для любого продукта на основе Eclipse (см. Документацию в разделе « Определение собственных глобальных настроек» ).

Вопрос: где хранятся глобальные настройки? Первое, что нужно проверить, это папка eclipse \ configuration \ .settings: здесь некоторые плагины хранят свои глобальные настройки. Например: последние настройки рабочего пространства находятся в org.eclipse.ui.ide.prefs.

#Fri Apr 06 16:46:14 CEST 2012
RECENT_WORKSPACES_PROTOCOL=3
MAX_RECENT_WORKSPACES=10
SHOW_WORKSPACE_SELECTION_DIALOG=true
eclipse.preferences.version=1
RECENT_WORKSPACES=C\:\\tmp\\wsp_test\nC\:\\tmp\\wsp_10.2

Но как насчет всех других настроек? Глядя на установку CodeWarrior, внутри папки eclipse я нахожу файл cwide.ini .

файл cwide.ini

файл cwide.ini

Этот файл определяет параметры запуска eclipse для запуска IDE (cwide.exe для CodeWarrior). Интересная часть этой строки:

-Declipse.pluginCustomization=cwide.properties

Это говорит eclipse использовать cwide.properties в качестве файла конфигурации по умолчанию. Если я проверю этот файл, он будет иметь следующее содержимое:

org.eclipse.debug.ui/org.eclipse.debug.ui.switch_perspective_on_suspend=always
org.eclipse.debug.ui/org.eclipse.debug.ui.switch_to_perspective=always
org.eclipse.ui.editors/spellingEngine=org.eclipse.cdt.internal.ui.text.spelling.CSpellingEngine

Хорошо, это дает мне представление о том, как могут выглядеть настройки. Но вопрос: как узнать настройки и синтаксис? Что работает (большую часть времени) следующий подход:

  1. Запустите затмение с новым рабочим пространством
  2. Экспортируйте настройки, используя Файл> Экспорт> Общие> Настройки в файл.
  3. Измените настройки в Window> Preferences
  4. Экспортируйте настройки, используя File> Export> General> Preferences   в другой файл
  5. Сравнить / проверить экспортированную информацию и найти настройки
  6. Примените настройки к файлу cwide.properties без / instance / part
  7. Перезапустите IDE и проверьте, работает ли он с новым рабочим пространством.

Последняя проверка необходима, так как не все настройки могут работать таким образом, см. Этот пост на форуме .

Это может быть лучше всего проиллюстрировано на примере. Я настроил мое рабочее пространство для использования 2 для ширины вкладок и для вставки пробелов для вкладок:

Измененные настройки для вкладок

Измененные настройки для вкладок

Если я сравню два экспортированных файла .epf, это даст мне:

Файлы настроек Eclipse Diffing

Файлы настроек Eclipse Diffing

Это означает, что две следующие строки настраивают то, что я изменил:

/instance/org.eclipse.ui.editors/tabWidth=2
/instance/org.eclipse.ui.editors/spacesForTabs=true

Для файла cwide.properties мне нужно обрезать / instance / part, поэтому я добавил это в cwide.properties :

# Set tab width to 2
org.eclipse.ui.editors/tabWidth=2
# Using spaces for tabs
org.eclipse.ui.editors/spacesForTabs=true

Примечание. Предпочтения применяются в следующем порядке: глобальные настройки, затем локальные настройки (рабочая область).

Это НЕ перезаписывает существующую настройку моего рабочего пространства. Как я вижу из diff, мои первоначальные настройки рабочего пространства не имеют никаких настроек для tabWidth и spaceForTabs. Создавая новое рабочее пространство, используйте и применяйте мои новые настройки. Но как только я получу их, они не будут перезаписаны новыми глобальными. Что имеет смысл: местные настройки выигрывают.

Примечание. Оставьте комментарий, если вы знаете изящный способ принудительно / перезаписать настройки рабочего пространства глобальными.