如何使用 macports 中的 clang-format?
How to use clang-format from macports?
我想使用 clang-format
,但我在我的系统中找不到它。我从 macports 安装了 llvm。 install/enable有什么方法吗?
您需要安装 clang 以获取 clang 工具(而 llvm 是 clang 的依赖项,因此您已经完成了一半)。要通过 macports 使用 post 获得最新的稳定版本
sudo port install clang-3.9
现在对我来说 clang-format 安装在 /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
文件中选择的样式就地运行 clang-format(覆盖文件)。
作为额外的奖励,这是一个很棒的工具,可以帮助测试所有 clang-format 选项的作用:http://zed0.co.uk/clang-format-configurator/
首先使用 MacPorts 安装 clang-3.9,使用命令
sudo port install clang-3.9
之后,您会在 /opt/local/bin
中找到 clang-format-mp-3.9
,它应该已经在您的 PATH 中,因此您可以直接使用它。
如果你想让clang
和所有其他相关工具指向你刚刚安装的版本,你可以使用MacPorts的select机制。
您可以使用 port select --list
for 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 安装的工具,只需 select none
版本即可。
clang最新版本为8.0:
$ sudo port install clang-8.0
$ clang
clang clang-check-mp-7.0 clang-format-mp-8.0 clang-offload-bundler-mp-7.0 clang-reorder-fields-mp-7.0
clang++ clang-check-mp-8.0 clang-func-mapping-mp-7.0 clang-offload-bundler-mp-8.0 clang-reorder-fields-mp-8.0
clang++-mp-7.0 clang-cl-mp-7.0 clang-import-test-mp-7.0 clang-query-mp-7.0 clang-tidy-mp-7.0
clang++-mp-8.0 clang-cl-mp-8.0 clang-import-test-mp-8.0 clang-query-mp-8.0 clang-tidy-mp-8.0
clang-apply-replacements-mp-7.0 clang-cpp-mp-7.0 clang-include-fixer-mp-7.0 clang-refactor-mp-7.0 clangd-mp-7.0
clang-apply-replacements-mp-8.0 clang-cpp-mp-8.0 clang-include-fixer-mp-8.0 clang-refactor-mp-8.0 clangd-mp-8.0
clang-change-namespace-mp-7.0 clang-extdef-mapping-mp-8.0 clang-mp-7.0 clang-rename-mp-7.0 clangd-xpc-test-client-mp-8.0
clang-change-namespace-mp-8.0 clang-format-mp-7.0 clang-mp-8.0 clang-rename-mp-8.0
所以 clang-format-mp-8.0 在 /opt/local/bin/ 是那个。
我想使用 clang-format
,但我在我的系统中找不到它。我从 macports 安装了 llvm。 install/enable有什么方法吗?
您需要安装 clang 以获取 clang 工具(而 llvm 是 clang 的依赖项,因此您已经完成了一半)。要通过 macports 使用 post 获得最新的稳定版本
sudo port install clang-3.9
现在对我来说 clang-format 安装在 /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
文件中选择的样式就地运行 clang-format(覆盖文件)。
作为额外的奖励,这是一个很棒的工具,可以帮助测试所有 clang-format 选项的作用:http://zed0.co.uk/clang-format-configurator/
首先使用 MacPorts 安装 clang-3.9,使用命令
sudo port install clang-3.9
之后,您会在 /opt/local/bin
中找到 clang-format-mp-3.9
,它应该已经在您的 PATH 中,因此您可以直接使用它。
如果你想让clang
和所有其他相关工具指向你刚刚安装的版本,你可以使用MacPorts的select机制。
您可以使用 port select --list
for 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 安装的工具,只需 select none
版本即可。
clang最新版本为8.0:
$ sudo port install clang-8.0
$ clang
clang clang-check-mp-7.0 clang-format-mp-8.0 clang-offload-bundler-mp-7.0 clang-reorder-fields-mp-7.0
clang++ clang-check-mp-8.0 clang-func-mapping-mp-7.0 clang-offload-bundler-mp-8.0 clang-reorder-fields-mp-8.0
clang++-mp-7.0 clang-cl-mp-7.0 clang-import-test-mp-7.0 clang-query-mp-7.0 clang-tidy-mp-7.0
clang++-mp-8.0 clang-cl-mp-8.0 clang-import-test-mp-8.0 clang-query-mp-8.0 clang-tidy-mp-8.0
clang-apply-replacements-mp-7.0 clang-cpp-mp-7.0 clang-include-fixer-mp-7.0 clang-refactor-mp-7.0 clangd-mp-7.0
clang-apply-replacements-mp-8.0 clang-cpp-mp-8.0 clang-include-fixer-mp-8.0 clang-refactor-mp-8.0 clangd-mp-8.0
clang-change-namespace-mp-7.0 clang-extdef-mapping-mp-8.0 clang-mp-7.0 clang-rename-mp-7.0 clangd-xpc-test-client-mp-8.0
clang-change-namespace-mp-8.0 clang-format-mp-7.0 clang-mp-8.0 clang-rename-mp-8.0
所以 clang-format-mp-8.0 在 /opt/local/bin/ 是那个。