Подумайте, зачем Вам столько .properties?

Начнем с того, что SciTE вполне работоспособен и без единого файла настройки.
Но воистину SciTE - один из самых настраиваемых редакторов в мире (буквально все можно заточить под свои изощренные требования) и не воспользоваться этой возможностью - значит не узнать об этом редакторе ничего.

Для хранения основных настроек служат три файла .properties. Разница между ними - в области видимости размещенных в них значений:


  • SciTEGlobal.properties (располагается в каталоге с программой) - все заданные в нем переменные и их значения видны всегда, если их не переназначат два других файла. (см. ниже). Если какой то параметр в этом файле не найден, то используется значение по умолчанию, заданное разработчиком при компиляции программы. Т.е. задавать абсолютно ВСЕ значения Вас никто не заставляет ;)
  • SciTEUser.properties (располагается в Вашем пользовательском каталоге Documents and Settings\User\) - его данные действительны для пользователя User. Можно создать несколько таких файлов с различными настройками для каждого работающего на компьютере пользователя. Если какой то параметр в нем отсутствует, то его значение ищется выше (в SciTEGlobal.properties).
  • SciTE.properties (располагается в каталоге с рабочими файлами пользователя) - если Вы создадите такой файл, то его настройки будут действовать только в том каталоге, где он располагается. Вы можете даже создать по нескольку разных файлов с различными настройками, расположив их в разных каталогах. Если какой то параметр в этом файле не найден то поиск продолжится сначала в
    SciTEUser.properties, а затем в SciTEGlobal.properties.

Параметры задаваемые в этих файлах абсолютно идентичны друг-другу. Разместить их Вы можете как в любом из них, так и во всех сразу. Описание большинства из них имеется в документации. Только не запутайтесь, множа параметры, учтите зону их видимости (об этом я говорил выше). Учтите, что если одноименный параметр повторен дважды, то действует нижнее по тексту его значение. В общем, тут главное - не запутаться и четко представлять себе откуда SciTE читает конкретную установку.

А как же Вы забыли, про многочисленные файлы .properties, содержащие настройки для различных языков программирования? Не забыл.

Эти файлы - не являются самостоятельными. Просто SciTE позволяет использовать в файлах настроек директиву import с помощью которой можно подключить к одному файлу .properties другой такой же файл или много файлов. Вот и разбили разработчики языковые настройки по отдельным файлам. Чисто для удобства разбили. Не более.. Подключить любой из этих файлов можно, поместив в любой из основных файлов настроек директиву import, например так:
import pascal
Но учтите, что из-за примитивности этого параметра, невозможно задать ни шаблон для подключения, ни расширение файла. Есть только не слишком известная возможность задать путь (относительно родительского каталога SciTE), благодаря которому все подключаемые файлы можно сгруппировать в подкаталогах (см. пример ниже). А поскольку нельзя задать шаблон, то все подключенные файлы будут всегда обрабатываться SciTE независимо от того, нужны они или нет.

Однако, если файл настроек очень велик, то его порой удобно разбить на фрагменты.
Я вот так взял и разбил свои основные настройки на несколько файлов:
import Properties/[Export]
import Properties/[Help]
import Properties/[International]
import Properties/[Lexer]
import Properties/[Open]
import Properties/[Print]
import Properties/[StatusBar]
import Properties/[Styles]
import Properties/[UserCommands]
import Properties/[Warnings]

(Как видите, все они у меня лежат в подкаталоге SciTE/Properties (Все файлы синтакса для различных языков программирования я поместил в SciTE/Languages). А квадратные скобочки - это только чтоб в меню классно смотрелось :)

Да,еще... (не хотел про них говорить - тошно):
Кроме всех этих многочисленных файлов
настроек
имеются два .properties использующих совершенно иную идеологию.
Оба они не содержат привычных нам по остальным файлам .properties команд, а имеют свое уникальное содержание. Это:

  • abbrev.properties - файл хранящий строковые сокращения (он располагается в каталоге Documents and Settings\User\)
    и
  • locale.properties - файл содержащий перевод интерфейса на русский (в нашем случае) язык (он располагается в каталоге с программой).
    Столь неудачное программное решение (я имею в виду abbrev) не позволяет использовать различные строковые сокращения для различных языков программирования, поэтому пользователи вынуждены валить все их в один файл :(

    А в заключении хотелось бы сказать:
    Все что когда то было сказано (в том числе и разработчиками программы) о SciTE нуждается в тщательной проверке. Буду рад, если этой статьей мне удасться развенчать столь живучий в народе миф о строгом предназначении конкретного файла настройки конкретному параметру. В мире SciTE - все условно и Вам решать использовать ли для хранения настроек один SciTEGlobal.properties или же путаться со всеми остальными файлами.



  • Огигинал новости «Подумайте, зачем Вам столько .properties?»   -
    «SciTE - редактор кода для программистов»   -