【问题标题】:How to display the full error messages in VScode?如何在 VScode 中显示完整的错误消息?
【发布时间】:2021-07-04 20:23:59
【问题描述】:

我有一个困扰我很久的问题。我在 macOS 上使用带有标准 clang 编译器的 VScode。 “gcc”产生的几乎所有错误消息都被删除了,根本没有帮助我。我不知道这是 VScode 的问题还是我的编译设置错误。另外,如果有人能说为什么只在命令参数中使用“usr/bin/clang++”不起作用,那就太好了……

Settings Problem

【问题讨论】:

  • 传递“-fmessage-length=0”解决了这个问题。此外,工作的 clang 路径在开头缺少斜线,所以它应该是“/usr/bin/clang++”而不是“usr/bin/clang++”。

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


【解决方案1】:

任务的问题匹配器仅显示第一行错误消息。 GCC 和 Clang 将错误消息包装在多行中,从而导致 VSCode“问题”面板和工具提示中出现截断的错误。

将选项-fmessage-length=0 传递给编译器以指示它不换行。修改配置中的“args”。

"args": [
  "-fmessage-length=0",
  "-Wall",
  "-Wextra",
  "-std=c++17",
  "-g",
  "${fileDirname}/**.cpp",
  "-o",
  "${fileDirname}"/${fileBasenameNoExtension}"
],

【讨论】:

    【解决方案2】:

    我不确定错误消息“被删除”是什么意思,这是否意味着它们已被删除?从您的照片看来,它们仍在展示。如果您收到已修复的错误消息,有时需要另一个构建才能消除幻像错误。

    解决第二部分,如果您将 bin 目录从 XcodeDefault.XcodeToolChain/ 直接移动到 usr/ 目录,那么您可以将命令设置为

    “命令”:“usr/bin/clang++”

    但是,我怀疑 clang 是否直接安装到您的用户文件夹中,将它移到那里可能不是一个好习惯,因为其他程序和任务可能仍依赖于旧位置。

    【讨论】:

    • 仔细看图。很多错误信息的句子都不完整。
    • @S.M.可能是因为环境语言与系统语言不同,最终消息中的英文字符被删掉了?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 2017-06-09
    • 1970-01-01
    相关资源
    最近更新 更多