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