Формат файла конфигурации, который распознает комментарии как часть конфигурации

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

boost :: property_tree: JSON, INFO, INI

QSettings

libconfig: YAML

Все не относится к комментариям с уважением, и, как файл записан в — они просто исчезают. XML был бы одним из вариантов, но он едва читаем и слишком сложен для того, что мне нужно.

Есть ли какой-нибудь формат / библиотека, которая действительно уважает комментарии?

2

Решение

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

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

Каждый раз, когда программа запускается, она считывает конфигурацию во внутреннюю модель, затем могут быть внесены изменения, и декоратор / средство визуализации может записать ее обратно. Возможно, вам придется иметь шаблон / схему для вашей модели в отдельном файле; в противном случае вам придется столкнуться с жестким комментарием к коду и т. д., что весьма нежелательно.

0

Другие решения