Существуют ли редакторы, позволяющие просматривать исходный код в разных стилях отступов?

Это не субъективный или спорный вопрос, а вопрос, который требует ответа "да/нет" и, если положительный ответ, имя (имена) указанного редактора (ов).

Представьте, что руководство компании обязано использовать код для использования стиля K & R и что я предпочитаю Allman (например). Существуют ли редакторы (автономные или часть IDE), которые позволяют вам всегда "просматривать" исходный код с помощью стиля Allman, но всегда сохранять файл с помощью стиля K & R?

Не похоже, что надуманный и сложный: исходный код/​​текстовый файл всегда будет сохранен с использованием "официального" стиля, но то, что редактор покажет вам на экране, не будет именно вашим текстом файл, но "вид" вашего текстового файла, используя стиль отступа по вашему выбору. И поэтому каждый разработчик мог бы свободно выбирать стиль отступа, который он предпочитал.

Есть ли редактор (автономный или интегрированный с IDE), который это делает?

Обратите внимание, что я действительно спрашиваю, существуют ли такие редакторы, а не если есть рабочие процессы, позволяющие сделать что-то подобное (например, предлагая мне использовать отступ GNU до выполнения моего Mercurial hg commit не где-нибудь рядом с ответом на вопрос).

Ответ 1

Vim позволяет вам точно указать, как вы хотите, чтобы отступы работали. Выезд:

http://vimdoc.sourceforge.net/htmldoc/indent.html#cinoptions-values

Как только он будет указан, повторно отпечатайте весь документ с помощью

1G=G

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

Ответ 2

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

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

Эта страница объясняет, как написать собственный форматировщик. К сожалению, я не смог найти скриншоты этой функции в действии.

Ответ 3

Нет.