2017-12-17 16 views
3

"-Xclang -std=c++17"を使用すると、実行可能ファイルをビルドできますが、C++ 17 intellisenseをアクティブにするものは見つかりません。以下に示すように、私は多くの組み合わせを試したし、どれもについてはenable C++ 17 intellisenseオープンフォルダービジュアルスタジオninja-clang

cmake_minimum_required(VERSION 3.9.2) 
set(CMAKE_CXX_STANDARD 17) 
project(myapp) 
add_compile_options("-Xclang" "-std=c++17") 
add_executable(myapp main.cpp) 
set_target_properties(myapp PROPERTIES CXX_STANDARD 17) 
target_compile_features(myapp PRIVATE cxx_std_17) 

main.cppに

#include <tuple> 
namespace test1::test2 // red [qualified name is not allowed] 
//  ^^^^^^^^^^^^^ 
{} 

int main() 
{ 
    auto[a, b] = std::pair<int, int>(); 
    // ^^^^^^ 
    return 0; 
} 

CMakeSettings.json

{ 
    // See https://go.microsoft.com//fwlink//?linkid=834763 for more information about this file. 
    "configurations": [ 
    { 
     "name": "x64-Debug", 
     "generator": "Ninja", 
     "configurationType": "Debug", 
     "inheritEnvironments": [ "msvc_x64_x64" ], 
     "buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}", 
     "installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}", 
     "cmakeCommandArgs": "", 
     "buildCommandArgs": "-v", 
     "ctestCommandArgs": "", 
     "variables": [ 
     { 
      "name": "CMAKE_CXX_COMPILER", 
      "value": "clang-cl" 
     }, 
     { 
      "name": "CMAKE_C_COMPILER", 
      "value": "clang-cl" 
     }, 
     { 
      "name": "CMAKE_SYSTEM_NAME", 
      "value": "Windows" 
     } 
     ] 
    } 
    ] 
} 

答えて

1

CMakeLists.txtを動作するようには思えません2017年12月にIntelliSenseモードを定義する唯一の方法は、あなたのRooのファイルCppProperties.json tフォルダには、CMakeSettings.jsonと組み合わせることはできません。

Visual C++ Team Blog: Customizing your Environment with Visual C++ and Open Folder下のコメントを参照してください:

  • justanotherdev:」... CMakeのを経由して作成したプロジェクトから含まCppPropertiesを継承することが可能であろうもしそうなら、Windowsのcmakeのプロジェクトから、Linuxのインテリセンスを取得はでしょうか? Linuxで大きな問題を解決することができます(手動でプロジェクトのインクルードをすべて指定する必要があります)。
    • ウィルBuik [MSFT]: "これは、サポートされていません今日は...。"

は、私はそれを試してみましたが、のようなものを使用して運がなかったしました"Open Folder projects in Visual C++" documentationの推奨事項

  1. 私はProject/Edit Settings/CppProperties.json

    enter image description here

  2. そして、私の構成に

    ... 
        "compilerSwitches": "/std:c++17", 
        "intelliSenseMode": "windows-msvc-x86" 
    ... 
    

    またはサポートされているモードのいずれかの他のようなものをテストするために挿入しに行きました:

    enter image description here


参照