Есть ли инструмент/плагин, который может читать файл DotSettings ReSharper и создавать html/doc/pdf и т. Д. Со всеми правилами и т. Д., Встроенными в файл DotSettings?Как преобразовать файл DotSettings ReSharper в читаемый человеком файл?
ответ
Нет. На самом деле это не предназначено для того, чтобы быть документом - настройки не всегда самодокументированы, поэтому преобразование в другой формат не обязательно поможет.
Однако, несмотря на внешний вид, на самом деле это довольно простой формат файла - это XML-файл пар имя/значение. Так может быть обработан с помощью инструмента или плагина.
ОБЯЗАТЕЛЬНОЕ ПРИМЕЧАНИЕ: Нет необходимости знать это, чтобы использовать, потреблять или обмениваться настройками. Это все детали реализации ...
Файл на самом деле является файлом XAML, сериализованным как WPF ResourceDictionary
(хотя он рассматривается как простой XML внутри). Каждая запись представляет собой строку, логическую или любую другую. Атрибут x:Key
предоставляет иерархический ключ с именами в иерархии, разделенными символом /
. Например .:
<s:String x:Key="/Default/PatternsAndTemplates/LiveTemplates/Template/=0F88A1C6C451B448B99CFE316153B889/Description/@EntryValue">Description of a live template</s:String>
Это запись в следующей иерархии:
/
--Default
--PatternsAndTemplates
--LiveTemplates
--Template
--=0F88A1C6C451B448B99CFE316153B889
--Description
Это иерархия вы видите, когда вы выбираете для экспорта данных из диалогового окна «Управление Options». Каждая запись поступает из класса настроек, определенного в ReSharper, кроме записи, начинающейся с знака равенства =
. Этот символ означает, что эта запись указана из «индексированного значения», что означает, что сегмент Template
на самом деле представляет собой список элементов, каждый из которых имеет значение со значением, в данном случае ориентиром, но может быть равным простым именем строки.
Таким образом, сегмент Template
может содержать ряд этих направляющих записей, по одному для каждого живого шаблона, определенного в файле настроек. И это руководство по-прежнему остается еще одним путем в иерархии - каждый шаблон guid может иметь записи под ним, такие как сегмент Description
.
Записи, начинающиеся с символа @
, представляют собой записи метаданных, например. @EntryValue
означает, что значение элемента XML является значением параметра, поэтому значение Description/@EntryValue
является значением описания. Существуют другие значения метаданных, такие как @EntryIndexedValue
для простых индексированных значений, @KeyIndexDefined
, чтобы показать, что существует индекс или @EntryIndexRemoved
, чтобы показать, что значение из другого файла (возможно, настройки по умолчанию, например предварительно настроенные живые шаблоны) было удалено.
Для каждой записи можно получить небольшое текстовое описание. Классы, поддерживающие записи параметров внутри ReSharper, украшены атрибутами, которые предоставляют краткое описание ключа и значений. Вы можете посмотреть классы, украшенные SettingsKeyAttribute
. Например .:
[SettingsKey(typeof(Missing), "Libraries of templates and patterns")]
public class PatternsAndTemplatesSettingsKey
{
}
Это определяет PatternsAndTemplates
часть вышеуказанного пути (название происходит по соглашению, сбросив любой Settings
или SettingsKey
суффикс).
typeof(Missing)
определяет ключ родительских настроек в иерархии. Здесь просто используется System.Reflection.Missing
, чтобы указать, что родителя нет (/Default
в пути - это «точка монтирования» для данных, позволяющая использовать параллельные иерархии в системе настроек).
Дочерние сегменты в пути также обозначаются как классы, обозначенные SettingsKeyAttribute
, а значения - это общедоступные поля, помеченные SettingsEntryAttribute
или SettingsIndexedEntryAttribute
.
[SettingsIndexedKey(typeof(LiveTemplatesSettings), "Single template", typeof(GuidIndex))]
public class TemplateSettings
{
[SettingsEntry(null, "Template shortcut")] public string Shortcut;
[SettingsEntry(null, "Template description")] public string Description;
[SettingsEntry(null, "Template text")] public string Text;
[SettingsEntry(false, "Template is disabled")] public bool IsDisabled;
[SettingsEntry(false, "Reformat after expansion")] public bool Reformat;
[SettingsEntry(false, "Shorten qualified references")] public bool ShortenQualifiedReferences;
[SettingsEntry(false, "Is invisible")] public bool IsInvisible;
[SettingsIndexedEntry("Categories")] public IIndexedEntry<string, string> Categories;
[SettingsIndexedEntry("Custom properties")] public IIndexedEntry<string, string> CustomProperties;
[SettingsIndexedEntry("Template applicability")] public IIndexedEntry<TemplateApplicability, bool> Applicability;
}
И каждый атрибут включает в себя краткое описание самого поля. (Начальное значение в конструкторе SettingsEntryAttribute
является «значением по умолчанию», но оно не используется таким образом. Фактически это значение, которое будет использоваться, если система настроек еще не инициализирована. Она используется, пожалуй, в двух местах в базе данных ReSharper, и поэтому не следует полагаться на правильность).
Кроме того, в ReSharper встроен встроенный инструмент, который позволяет вам перемещаться и исследовать систему настроек. Запустите devenv.exe /ReSharper.Internal
и перейдите к ReSharper -> Internal -> Windows -> SettingsStoreView. Это внутренне, поэтому не ожидайте отполирования и предупреждайте, что есть ошибки ...
- 1. Как интегрировать файл Dotsettings ReSharper в SonarQube?
- 2. Добавить .DotSettings файл в ReSharper InspectCode
- 3. Resharper dotSettings файл получать модифицирован каждый раз
- 4. Как написать Сериализованный объект как читаемый человеком файл Txt
- 5. Как преобразовать make-файл в читаемый код?
- 6. Как преобразовать файл svg hexdump в читаемый XML-файл?
- 7. Как преобразовать читаемый человеком номер в фактическое число в Ruby?
- 8. Как использовать функцию импорта DotSettings в плагине Resharper Sonar?
- 9. Как определить читаемый человеком тип cv :: Mat?
- 10. Как использовать относительные пути в слоях ReSharper DotSettings
- 11. Как преобразовать файл scalastyle-result.xml в читаемый отчет
- 12. Напишите читаемый пользователем файл
- 13. Как сохранить читаемый пользователем файл
- 14. Не читаемый файл sqlite3
- 15. Преобразование двоичного числа в текст, читаемый человеком
- 16. C# непрерывно читаемый файл
- 17. Получить даты в формате «читаемый человеком»
- 18. читаемый файл только PHP
- 19. Не читаемый файл .js? Как конвертировать обратно?
- 20. Преобразование флагов integer в текст, читаемый человеком
- 21. Мне нужно преобразовать Json-файл в читаемый csv
- 22. Как персистировать объект как читаемый человеком XML-файл с декларацией XML?
- 23. PHP Преобразование большой двоичный файл в читаемый файл
- 24. C++ IP-адрес, читаемый человеком Форма
- 25. Сгенерируйте читаемый человеком список (не) -следующих дат
- 26. КМИС: Получить читаемый человеком имя пользователя
- 27. NSKeyedArchiver пишет XML (или другой читаемый человеком)?
- 28. Как преобразовать файл постскриптума pton tkinter в файл изображения, читаемый PIL?
- 29. Как проверить, читается ли файл человеком?
- 30. Файл, читаемый после вызова системы()