#P2511. macOS配置vscode环境

macOS配置vscode环境

Description

1、下载vscode,选择 Mac Universal版本。

2、安装插件 chiness、C/C++ Extension Pack、CodeLLDB

3、安装 Clang

4、新建文件 stdc++.h(/Library/Developer/CommandLineTools/usr/bin/stdc++.h)。具体代码在提示中。

5、桌面新建code文件夹,.vscode文件夹中新建tasks.json文件 和 lauch.json文件(具体提示中)

Hint

1、stdc++.h(/Library/Developer/CommandLineTools/usr/bin/stdc++.h):
// C++ includes used for precompiling -*- C++ -*-

// Copyright (C) 2003-2022 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the // terms of the GNU General Public License as published by the // Free Software Foundation; either version 3, or (at your option) // any later version.

// This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details.

// Under Section 7 of GPL version 3, you are granted additional // permissions described in the GCC Runtime Library Exception, version // 3.1, as published by the Free Software Foundation.

// You should have received a copy of the GNU General Public License and // a copy of the GCC Runtime Library Exception along with this program; // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/&gt;.

/** @file stdc++.h

  • This is an implementation file for a precompiled header. */

// 17.4.1.2 Headers

// C #ifndef _GLIBCXX_NO_ASSERT #include <cassert> #endif #include <cctype> #include <cerrno> #include <cfloat> #include <ciso646> #include <climits> #include <clocale> #include <cmath> #include <csetjmp> #include <csignal> #include <cstdarg> #include <cstddef> #include <cstdio> #include <cstdlib> #include <cstring> #include <ctime> #include <cwchar> #include <cwctype>

#if __cplusplus >= 201103L #include <ccomplex> #include <cfenv> #include <cinttypes> #include <cstdbool> #include <cstdint> #include <ctgmath> #endif

// C++ #include <algorithm> #include <bitset> #include <complex> #include <deque> #include <exception> #include <fstream> #include <functional> #include <iomanip> #include <ios> #include <iosfwd> #include <iostream> #include <istream> #include <iterator> #include <limits> #include <list> #include <locale> #include <map> #include <memory> #include <new> #include <numeric> #include <ostream> #include <queue> #include <set> #include <sstream> #include <stack> #include <stdexcept> #include <streambuf> #include <string> #include <typeinfo> #include <utility> #include <valarray> #include <vector>

#if __cplusplus >= 201103L #include <array> #include <atomic> #include <chrono> #include <codecvt> #include <condition_variable> #include <forward_list> #include <future> #include <initializer_list> #include <mutex> #include <random> #include <ratio> #include <regex> #include <scoped_allocator> #include <system_error> #include <thread> #include <tuple> #include <typeindex> #include <type_traits> #include <unordered_map> #include <unordered_set> #endif

#if __cplusplus >= 201402L #include <shared_mutex> #endif

#if __cplusplus >= 201703L #include <any> #include <charconv> // #include <execution> #include <filesystem> #include <optional> #include <string_view> #include <variant> #endif

#if __cplusplus >= 202002L #include <barrier> #include <bit> #include <compare> #include <concepts> #include <latch> #include <numbers> #include <ranges> #include <span> #include <semaphore> #include <version> #endif

#if __cplusplus > 202002L #endif


2、tasks.json:</p>
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: clang build active file",
            "command": "/usr/bin/clang++",
            "args": [
                "-fcolor-diagnostics",
                "-fansi-escape-codes",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": True
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

3、lauch.json:
{
    "configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
        "cwd": "${fileDirname}",
        "preLaunchTask": "C/C++: clang build active file"
    }
],
"version": "2.0.0"

}


4、setting.json(可加可不加):</p>
{
    "files.associations": {
        "__bit_reference": "cpp",
        "__config": "cpp",
        "__hash_table": "cpp",
        "__locale": "cpp",
        "__node_handle": "cpp",
        "__split_buffer": "cpp",
        "__threading_support": "cpp",
        "__tree": "cpp",
        "__verbose_abort": "cpp",
        "any": "cpp",
        "array": "cpp",
        "barrier": "cpp",
        "bitset": "cpp",
        "cctype": "cpp",
        "cfenv": "cpp",
        "charconv": "cpp",
        "cinttypes": "cpp",
        "clocale": "cpp",
        "cmath": "cpp",
        "codecvt": "cpp",
        "complex": "cpp",
        "condition_variable": "cpp",
        "csetjmp": "cpp",
        "csignal": "cpp",
        "cstdarg": "cpp",
        "cstddef": "cpp",
        "cstdint": "cpp",
        "cstdio": "cpp",
        "cstdlib": "cpp",
        "cstring": "cpp",
        "ctime": "cpp",
        "cwchar": "cpp",
        "cwctype": "cpp",
        "deque": "cpp",
        "execution": "cpp",
        "forward_list": "cpp",
        "fstream": "cpp",
        "future": "cpp",
        "initializer_list": "cpp",
        "iomanip": "cpp",
        "ios": "cpp",
        "iosfwd": "cpp",
        "iostream": "cpp",
        "istream": "cpp",
        "latch": "cpp",
        "limits": "cpp",
        "list": "cpp",
        "locale": "cpp",
        "map": "cpp",
        "mutex": "cpp",
        "new": "cpp",
        "numbers": "cpp",
        "optional": "cpp",
        "ostream": "cpp",
        "queue": "cpp",
        "ratio": "cpp",
        "regex": "cpp",
        "scoped_allocator": "cpp",
        "semaphore": "cpp",
        "set": "cpp",
        "shared_mutex": "cpp",
        "span": "cpp",
        "sstream": "cpp",
        "stack": "cpp",
        "stdexcept": "cpp",
        "streambuf": "cpp",
        "string": "cpp",
        "string_view": "cpp",
        "tuple": "cpp",
        "typeindex": "cpp",
        "typeinfo": "cpp",
        "unordered_map": "cpp",
        "unordered_set": "cpp",
        "valarray": "cpp",
        "variant": "cpp",
        "vector": "cpp",
        "algorithm": "cpp"
    }
}