如何在 Visual Studio 2019 中更改默认的 C++ 语言标准?

How to change default C++ language standard in Visual Studio 2019?

我想在我的项目中使用 C++17,而不必在开始新项目时总是在属性中更改它。这可能吗?

谢谢!

编辑 属性 sheet 下的 View -> Other Windows -> 属性 Manager 接下来打开一个项目的树,然后打开你想要的平台改变。

对应平台的所有项目配置默认继承这里的设置所以右击“Microsoft.Cpp..User”的节点然后去C/C++ -> Language并设置您想要的语言标准,然后单击“确定”。

您可能需要右键单击项目节点并select保存,我不确定这是否真的有必要。

要仅更改 项目的默认值,请参阅

要更改 所有 C++ 项目的默认设置,请在 $(UserRootDir) 中查找以下两个 .props 文件,通常是 C:\Users\<user name>\AppData\Local\Microsoft\MSBuild\v4.0

    Microsoft.Cpp.Win32.user.props
    Microsoft.Cpp.x64.user.props

然后在Project/ItemDefinitionGroup/ClCompile下插入以下内容。

    <ConformanceMode>true</ConformanceMode>
    <LanguageStandard>stdcpp17</LanguageStandard>

如果 .props 个文件不存在,您必须从头开始创建它们,每个文件将具有以下完整内容。

<?xml version="1.0" encoding="utf-8"?> 
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemDefinitionGroup>
    <ClCompile>
      <ConformanceMode>true</ConformanceMode>
      <LanguageStandard>stdcpp17</LanguageStandard>
    </ClCompile>
  </ItemDefinitionGroup>
</Project>

有关 属性 文件的更多详细信息,请参阅我的其他答案 ,包括在哪里可以找到 per-machine 默认值(在 $(VCTargets) 中),而不是 per-user 个(在 $(UserRootDir) 中)。

您可以通过设置 (left down corner) -> command palette.. -> c/c++ Edit configuration(UI) 来做到这一点。它将带您进入 IntelliSense 配置。从那里您可以更改 C 和 C++ 的版本。