0

У меня есть расширение Visual Studio, которое генерирует некоторый код. Как я могу уважать настройки форматирования пользователя (например, Tab vs Spaces, this. квалификатор и т. Д.) При его создании?Создать код с форматированием пользователя в расширении VS

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

Если да, то как бы я прочитал вкладку vs space и настройки префикса this., соблюдая файлы .EditorConfig?

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

+1

Вы можете просто запустить форматировщик Roslyn. – SLaks

+0

Нашел! http://www.coderesx.com/roslyn/html/68734D19.htm Спасибо. – RandomEngy

ответ

0
  1. Вам нужен объект VisualStudioWorkspace (который я предполагаю, у вас уже есть, иначе взглянуть на блоге Джоша Varity в here)
  2. Сформировать текст и добавить его в проект, используя AddDocument
  3. вызова GetOptionsAsync к получить набор опций (.editorconfig, пользовательские настройки и т.д.), которые относятся к этому документу
  4. Вызов Formatter.FormatAsync проходящего в OptionSet, который был дан вам GetOptionsAsync
  5. Update форматированный Docum позвонив по телефону WithDocumentText.
Смежные вопросы