【问题标题】:How Visual Studio Code formatting works out of the box on OSXVisual Studio Code 格式化如何在 OSX 上开箱即用
【发布时间】:2018-01-30 01:19:11
【问题描述】:

我在 osx 上运行 vscode 并安装了 C/C++ plugin,它带来了 ClangFormat 包:

安装包“C/C++ 语言组件 (OS X)”
安装包“ClangFormat (OS X)”
安装包'Mono Framework Assemblies'
安装包“Mono Runtime (OS X)”
安装包 'LLDB 3.8.0 (OS X)'

我能够格式化 C++ 代码,甚至成功更改了clang-format 样式:

"C_Cpp.clang_format_style": "google"`

问题是我的系统上没有安装clang-format,并且vscode设置中的路径也没有设置:

“C_Cpp.clang_format_path”:空

这里的格式化实际上是如何完成的? vscode 安装的这个ClangFormat 包是什么?它从哪里来?这不是插件。
它是否使用homebrew 以外的某个包管理器在不在路径中的自定义位置安装clang-format 的分发?

【问题讨论】:

  • 你确定它工作正常吗?即使正确设置了 clang-format c++ 代码格式通常也没什么用。
  • 是的,它正在按照我指定的样式工作和格式化。为什么说它几乎没有用?我也在 linux 上设置了它(使用 clang 格式的绝对路径和我想要的样式)并且效果很好。也适用于 osx,但不确定如何。
  • 事实证明,vscode 尝试将 ClangPackageC/C++ 插件 一起安装在 linux 上,并且在某些版本上它的工作原理相同在 osx(例如 linux mint)上,与我的 arch linux 设置相反,我需要手动安装 clang-format 并提供绝对路径。所以我想这个问题现在也适用于 linux mint

标签: c++ macos visual-studio-code clang-format


【解决方案1】:

在我的 Linux Mint 中,它确实与 Microsoft 的 C/C++ 扩展一起安装,可惜它是本地安装在模块中的。可以在这里找到:

~/.vscode/extensions/ms-vscode.cpptools-0.12.3/LLVM/bin/

Windows 中,同样可以在此处找到:

%USERPROFILE%\.vscode\extensions\ms-vscode.cpptools-0.12.3\LLVM\bin\

OSX 中:

~/.vscode/extensions/ms-vscode.cpptools-0.12.3/LLVM/bin/

不确定 Arch 有什么问题。

【讨论】:

  • 实际上,根据VS Code extension documentation,在 Mac 中您应该可以在这里找到所有扩展:~/.vscode/extensions,我希望 clang-format 安装在与我的相同位置上面提到的 Linux Mint
  • 是的,我发现该位置也是 lof osx 并更新您的答案。剩下的问题是谁为每个平台维护这些 clang-format 版本。
  • 我希望 C/C++ 扩展能够在每次版本更新时引入最新的(可能是稳定的)clang-format 版本。我仍然想知道为什么它对你的拱门不起作用。你能检查一下文件的权限吗?
  • 看起来它也部署在 Arch 上的同一路径中。在我的情况下,由于缺少 libtinfo.so.5 依赖项,它无法运行。安装libtinfo5 后,它工作正常。所以 vscode 部署的版本有这个额外的依赖。
猜你喜欢
  • 2021-06-26
  • 1970-01-01
  • 1970-01-01
  • 2016-06-29
  • 2021-03-02
  • 2021-05-05
  • 2015-07-10
  • 2018-02-26
相关资源
最近更新 更多