前言:
在大家都说vscode好用时,看着漂亮的界面,我心动了,自此,便走上了配置vs code的不归路。说实话,vccode的配置恶心的一批,windows下配置本来就复杂,对初学者很不友好,本来是去练习写代码的,结果配置花了两天 .....那macos下就更坑了,windows好歹是亲儿子,微软跨个平台就不错了,优化肯定是没win好呀,于是各种小问题层出不穷。正文前,把我的配置报一下吧,小新pro13黑的苹果,Big Sur11.4,如果试了下面的方法不可用,请考虑系统差异。
正文:
先说下这篇文章解决的问题,在vs中设置完,c-cpp、tasks、launch后,写了一个简短的带有输入输出的c文件。这里三个配置文件网上教程很多,但各有优缺,为了更好说明,我贴在下文。
c_cpp_properties.json:
{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceFolder}/**",
"/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1",
"/Library/Developer/CommandLineTools/usr/lib/clang/12.0.5/include",
"/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include",
"/Library/Developer/CommandLineTools/usr/include",
"/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks"
],
"defines": [],
"macFrameworkPath": [
"/System/Library/Frameworks",
"/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang++",
"cStandard": "c11",
"cppStandard": "c++11",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
tasks.json:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "c",
"command": "clang++",
"args": [
"${file}",
"-std=c++17",
"-stdlib=libc++",
"-o",
"${workspaceFolder}/out/${fileBasenameNoExtension}",
"-g"
],
"type": "shell",
"presentation": {
"echo": true,
"reveal": "always",
"panel": "shared"},
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "c/c++ Launch",
"type": "lldb",
"request": "launch",
"program": "${workspaceFolder}/out/${fileBasenameNoExtension}",//我把生成的文件放
//在了out这个目录,方便清理,如果要用的话,记得建一个out文件夹。
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole":true,
"MIMode": "lldb",
"preLaunchTask":"c"
}
]
}
除此之外,这三个插件要装上
配置完这些后,我f5(即运行)了我写的文件,结果弹不出外部终端,vs终端也没运行,就一直在运行,找不到输入口。
为了解决这个问题,在网上找了好长时间也没一个合适的答案,就开始自己摸索。终于在完成一些设置后,终于能弹出终端了。下面是操作步骤:
1.打开设置,输入terminal external
2.把这两项设置成这样
然后重启vscode,再次运行测试文件,如果看到了授权提示,那么你就成功了,点击确认,就可以用了。
3.如果还不行,建议下载一个其他终端,这里推荐iterm2,如何下载请自行百度,这个很多,然后把下面这项改成iTerm.app(其他的为 名称.app 注意大小写)。再重启vs运行代码,这次你就会看到授权提示,然后同意就大功告成了。