L3ZCの试验田
L3ZCの试验田

在Mac上基于VS Code打造轻量化C/C++开发环境

一直都在用VS Code,奈何以前太懒可惜高中的时候很忙,很长一段时间里一直只把VS Code当作自己的文本编辑器,大学有了写C/C++的需求,Xcode实在太大,于是转战在线编辑器repl.it,然而这类Cloud Based IDE链接不够稳定,也没有办法离线作业,于是我开始寻找一个轻量化的C语言开发环境满足我的实际需求。

声明

本文基于intel Mac,M1 Mac自行安装/执行对应的版本/命令主要还是因为我太穷了(狗头)其实现在这些工具大部分都适配了M1,应该不会有什么问题

默认你已经装好了VS Code,没有自行去VS Code官网下载安装

本文所提到的是Visual Studio Code,不是Visual Studio,如果分不清请自行搜索两者的区别

安装C/C++编译器

在Mac上,我用的C/C++编译器是clang,相比于gcc,clang运行更快,能在程序出现语法错误编译失败时提供更加明确的错误信息和处理建议(这点我在Windows上用gcc时深有体会,gcc给的信息总是非常的confusing)。

先检查你的Mac是否自带clang编译器,执行clang -v或者clang --version,如果你的电脑上没有安装 clang,此时系统会提示你是否安装 Command Line Tools,选择安装即可。

安装VS Code相关扩展

在VS Code里安装以下拓展(括号里的是作者)

  • C/C++(Microsoft)
  • Code Runner(Jun Han)
  • 简体中文拓展:Chinese(Simplified)(可选)

新建并配置工作区

新建一个文件夹作为工作区,注意文件夹名称不能出现中文和空格!!,这里根据我的需求,新建一个名为C_Homework的文件夹,随后在VS Code的菜单栏里选择:文件->打开文件夹,并信任此文件夹中文件的作者。

你总不可能连自己都不信任吧?

测试C/C++环境是否正常

打开后在VS Code左侧文件面板中刚刚创建好的文件夹里新建一个C/C++文件,以.c/.cpp作为拓展文件名,例如hello.c/hello.cpp,然后写一个基本的C/C++程序

#include<stdio.h>

int main(){
    printf("Hello VSCode!");
    return 0;
}

完成后按command + S保存文件,如果在之前的步骤里正确安装了Code Runner,则可以方便的编译运行代码,点击右上角的运行图标或者在编辑区右键选择Run Code,如果配置正确即可看到输出。注意Code Runner只是帮你简化了在控制台输命令的过程,所以需要自行保存文件后才能运作,当然也可以在设置成运行前自动保存。

用Code Runner跑
Run Code

配置Debugger以调试程序

进入左侧的Debug菜单,点击上方运行与调试按钮,选择C++(GDB/LLDB)->C/C++: clang 生成活动文件以生成tasks.json文件

配置调试

再次进入Debug菜单,点击创建lauch.json文件,选择C++(GDB/LLDB)以创建launch.json,将以下配置粘贴到launch.json里,覆盖掉原本的内容

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
      {
        "name": "clang++ - Build and debug active file",
        "type": "cppdbg",
        "request": "launch",
        "program": "${fileDirname}/${fileBasenameNoExtension}",
        "args": [],
        "stopAtEntry": true,
        "cwd": "${workspaceFolder}",
        "environment": [],
        "externalConsole": true,
        "MIMode": "lldb",
        "preLaunchTask": "C/C++: clang 生成活动文件" //没有安装简体中文插件则自行在task.json里复制粘贴换掉
      }
    ]
  }

这里我将”externalConsole”项设置为true,避免在debug需要输入的程序时找不到地方输入的尴尬。

替换后按command + S保存,以后碰到你需要debug的程序,打好断点,在VS Code的上方菜单里选择运行->启动调试就可以痛苦的愉快的debug了。

牢骚

在此之前,我是真的没有想到,文件夹名称里有空格能让一个程序出现各种包括但不限于报错,不识别等莫名其妙的问题,这种问题很烦,很耗费精力。所以,这次让我文件和文件夹命名的时候,空格用下划线代替,能用英文用英文。大学里杂七杂八的事情真的多,养成好习惯把精力省在更有意义的事情上绝对是血赚。

除非特别声明,本站内容均采用CC BY-NC-SA 4.0 协议,转载请注明出处。

发表回复

textsms
account_circle
email

L3ZCの试验田

在Mac上基于VS Code打造轻量化C/C++开发环境
一直都在用VS Code,奈何以前太懒可惜高中的时候很忙,很长一段时间里一直只把VS Code当作自己的文本编辑器,大学有了写C/C++的需求,Xcode实在太大,于是转战在线编辑器repl.it,然而这…
扫描二维码继续阅读
2022-06-29