хочу представить лязг-форматировщик для нашей компании, но есть некоторые ограничения, такие как:
Некоторые файлы в нашей компании лучше читать с tab-width = 2, а другие лучше читать с tab-width = 4.
Это означает, что некоторые файлы (из-за характера их содержимого) должны иметь другой файл конфигурации в формате .clang. Итак, предполагая, что мы в конечном итоге с 2 или 3 конфигурациями, подходящими для каждого контента,
есть ли способ, которым я могу заставить немного файлы, которые будут отформатированы определенным .clang_format ?
например,
или же
мы используем C, C ++, Visual Studio и VIM
Вы можете поместить разные файлы в формате .clang (_clang-format) в каждый каталог. clang-format начнет искать его в каталоге файла, а затем будет искать по всем его родителям, пока не найдет его (при условии, что вы устанавливаете -style = file).
Похоже, это решит ваш вариант использования. Если нет, я хотел бы понять, как. Есть ли у вас файлы в одном каталоге, которые нуждаются в разных отступах?
Вы имеете ограниченный контроль над тем, .clang_format
файл используется, так как средство форматирования начнет поиск файла в каталоге исходных файлов, а затем последовательно выполнит поиск в родительских каталогах. Однако организация структуры каталогов таким образом, чтобы это работало, может быть довольно неудобной.
Однако вы можете переопределить определенные параметры стиля при каждом вызове. От документы в формате clang:
использование
-style="{key: value, ...}"
установить конкретные параметры, например:
-style="{BasedOnStyle: llvm, IndentWidth: 8}"
К сожалению Плагин Visual Studio в настоящее время не позволяет изменять параметры, переданные clang-format
на основе файлов, поэтому последний подход не будет работать здесь.
Насколько мне известно, нет поддержки комментарии ‘modeline’ это позволило бы установить параметры стиля из исходного файла, хотя я бы хотел, чтобы это было добавлено в будущих версиях.