2016-08-21 6 views

ответ

2

Вам нужно установить clang, чтобы получить инструменты clang (и llvm - зависимость clang, так что вы на полпути). Чтобы получить самую последнюю стабильную версию, как этот пост через MacPorts использовать

sudo port install clang-3.9

Теперь для меня лязг формат затем устанавливается в /opt/local/libexec/llmv-3.9/bin. Здесь вы найдете все другие инструменты clang, такие как clang-tidy.

Для простоты я сделал псевдоним в своем профиле bash, так как мне не нравится команда Apple fmt: alias fmt ='/opt/local/libexec/llmv-3.9/bin/clang-format'. Поэтому fmt -i file.c теперь запускает clang-format inplace (перезаписывает файл) стилями, которые я выбрал в моем файле .clang-format.

В качестве дополнительного бонуса, это удивительный инструмент, чтобы помочь проверить то, что все варианты лязг формата делают: http://zed0.co.uk/clang-format-configurator/

+0

Спасибо! У меня есть справочник, который вы упомянули, но там нет стиля clang-tidy или clang. – gruszczy

+0

@gruszczy, если вы запустите 'port contents clang-3.9', что такое куча вещей? Более того, какую версию llvm вы установили в порт? Если у вас есть llvm-3.9, то используйте эту команду, иначе используйте 'содержимое порта clang - $ (version)', если у вас есть llvm - $ (версия). Если у вас есть вещи, скажите мне вместо этого, что «содержимое порта clang-3.9 | grep "/opt/local/libexec/llvm-3.9/bin" 'возвращается. Если первая команда возвращает результаты, а вторая - нет, то по какой-то причине инструменты clang не были установлены там, где я думал, что они будут. –

+0

'find/opt/local -name" clang-format "', если ничего не возвращается, возможно, вам не удалось создать clang с macports. Другая возможность заключается в том, что вы настраивали установленные макросы и меняли путь по умолчанию, чтобы установки не выполнялись в/opt/local. –

6

Сначала установите лязг-3.9 с MacPorts командой

sudo port install clang-3.9 

После этого вы найдет clang-format-mp-3.9 в /opt/local/bin, который уже должен быть в вашем PATH, чтобы вы могли просто использовать его.

Если вы хотите сделать clang, а все другие связанные инструменты указывают на версию, которую вы только что установили, вы можете использовать механизм выбора MacPorts.

Вы можете увидеть все доступные варианты с помощью port select --list для clang.

$ port select --list clang 
Available versions for clang: 
    mp-clang-3.8 
    mp-clang-3.9 
    none (active) 

С sudo port select --set clang <version> вы выбираете одну из них в качестве нового значения по умолчанию, которые будут создавать символические ссылки в /opt/local/bin без суффикса версии.

$ sudo port select --set clang mp-clang-3.9 
Selecting 'mp-clang-3.9' for 'clang' succeeded. 'mp-clang-3.9' is now active. 

Вы можете подтвердить это изменение, глядя на версию инструмента:

$ clang-format --version 
clang-format version 3.9.0 (tags/RELEASE_390/final) 

Если позже вы хотите удалить эти символические ссылки для того, чтобы избежать прячась инструменты, установленные Xcode, просто выберите none версия.

+0

Это должен быть правильный ответ – CsBence