Mac-VScode-C++环境配置

mac上自带了clang所以不是必须下载Homebrew

下面是配置文件(注释记得删一下)

package.json

复制代码
{
    "name": "git-base",
    "displayName": "%displayName%",
    "description": "%description%",
    "version": "1.0.0",
    "publisher": "vscode",
    "license": "MIT",
    "engines": {
        "vscode": "0.10.x"
    },
    "categories": ["Other"],
    "main": "./dist/extension.js",
    "browser": "./dist/browser/extension.js",
    "icon": "resources/icons/git.png",
    "capabilities": {
        "virtualWorkspaces": true,
        "untrustedWorkspaces": {
            "supported": true
        }
    },
    "contributes": {
        "commands": [
            {
                "command": "git-base.api.getRemoteSources",
                "title": "%command.api.getRemoteSources%",
                "category": "Git Base API"
            }
        ],
        "menus": {
            "commandPalette": [
                {
                    "command": "git-base.api.getRemoteSources",
                    "when": "false"
                }
            ]
        },
        "languages": [
            {
                "id": "git-commit",
                "aliases": ["Git Commit Message", "git-commit"],
                "filenames": ["COMMIT_EDITMSG", "MERGE_MSG"],
                "configuration": "./languages/git-commit.language-configuration.json"
            },
            {
                "id": "git-rebase",
                "aliases": ["Git Rebase Message", "git-rebase"],
                "filenames": ["git-rebase-todo"],
                "filenamePatterns": ["**/rebase-merge/done"],
                "configuration": "./languages/git-rebase.language-configuration.json"
            },
            {
                "id": "ignore",
                "aliases": ["Ignore", "ignore"],
                "extensions": [".gitignore_global", ".gitignore", ".git-blame-ignore-revs"],
                "configuration": "./languages/ignore.language-configuration.json"
            }
        ],
        "grammars": [
            {
                "language": "git-commit",
                "scopeName": "text.git-commit",
                "path": "./syntaxes/git-commit.tmLanguage.json"
            },
            {
                "language": "git-rebase",
                "scopeName": "text.git-rebase",
                "path": "./syntaxes/git-rebase.tmLanguage.json"
            },
            {
                "language": "ignore",
                "scopeName": "source.ignore",
                "path": "./syntaxes/ignore.tmLanguage.json"
            }
        ]
    },
    "repository": {
        "type": "git",
        "url": "https://github.com/microsoft/vscode.git"
    }
}

c_cpp_propreties.json

复制代码
{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceFolder}/**",
                "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1"  // 指定 libc++ 路径
            ],
            "defines": [],
            "compilerPath": "/usr/bin/clang++",  // 使用 clang++ 编译器
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "macos-clang-arm64"
        }
    ],
    "version": 4
}

settings.json

复制代码
{
    "code-runner.executorMap": {
        "cpp": "cd $dir && clang++ -std=c++17 -stdlib=libc++ -Wall $fileName -o a.out && ./a.out"  // 使用 clang++ 编译器
    },
    "code-runner.runInTerminal": true,
    "files.autoSave": "afterDelay",
    "terminal.integrated.defaultProfile.osx": "zsh",
    "terminal.integrated.defaultEncoding": "utf-8",
    "locale": "zh-cn",
    "enable-crash-reporter": true,
    "crash-reporter-id": "3205589b-8611-4466-8315-38f465957f48"
}

其中 code-runner.runInTerminal设置为true解决了mac默认在输出跑无法输入的问题

tasks.json

复制代码
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "C/C++: clang++ 生成活动文件",
            "type": "shell",
            "command": "/usr/bin/clang++",  // 使用 clang++ 编译器
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": "build",
            "problemMatcher": [
                "$gcc"  // 使用 $gcc 而不是 $clang
            ],
            "detail": "生成 C++ 程序"
        },
        {
            "type": "cppbuild",
            "label": "C/C++: clang++ 生成活动文件",
            "command": "/usr/bin/clang++",  // 使用 clang++ 编译器
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"  // 使用 $gcc 而不是 $clang
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ]
}

C/C++编辑配置(UI)

command+shift+p,输入C/C++编辑配置(UI)

编辑器路径:/usr/bin/clang++

IntelliSense 模式根据你的芯片选择是arm还是intell

c标准的话一般为17

相关推荐
止观止6 小时前
C++20 Concepts:让模板错误信息不再“天书”
c++·c++20·编程技巧·模板编程·concepts
FL16238631297 小时前
ONNX RuntimeC++ 静态库下载安装和使用教程
开发语言·c++
誰能久伴不乏7 小时前
Linux文件套接字AF_UNIX
linux·服务器·c语言·c++·unix
5***V9337 小时前
MacOS升级ruby版本
开发语言·macos·ruby
豆豆plus7 小时前
C++实现文件操作类
开发语言·c++
Nerd Nirvana7 小时前
15个提升开发效率的VS Code插件推荐
linux·vscode·开发工具·嵌入式软件开发·插件使用·智能采集设备·边缘终端
墨雪不会编程7 小时前
C++基础语法篇五 ——类和对象
java·前端·c++
lichong9517 小时前
《postman、apipost、smartApi 等使用与特点 3 天路线图(可打印 PDF+互动脑图)》
前端·测试工具·macos·pdf·postman·大前端·大前端++
_F_y8 小时前
二分:二分查找、在排序数组中查找元素的第一个和最后一个位置、搜索插入位置、x 的平方根
c++·算法