在windows下我们往往使用CB(CodeBlocksks)进行acm的编程,不用建立工程,可以直接编译并运行,然后弹出黑框框,sublime也是这样,只要MinGW搞好就行
在ubuntu下我也常常使用CB,虽然有时候会出现小问题,但是还是非常稳定的
在mac os下就比较头疼,CB是远古版本了,而且在OSX下可能闪退,但是我们总不可能使用Xcode进行C/C++代码编写吧,比较麻烦
先后配置了sublime和VSCode,最终还是选择了VSCode,比较简单好用
去微软官网下载之后拖到应用程序打开,然后下载C/C++的MS插件,然后下载codeRun(因为task的体验不好,不能编译并运行)
编译和运行其实就是一行命令行的事("g++ A.cpp -std=c++11 -o A && ./A),我们配置codeRun到这样,然后加入一些人性化操作
这个就是setting.json,可以点击查看->命令面板->找到设置
// 在终端中运行编译命令,否则我们无法与程序通过标准输入交互 "code-runner.runInTerminal": true, // 运行代码之前清除之前的输出 "code-runner.clearPreviousOutput": true, // 开启这个后在运行编译命令之前会自动 cd 至文件所在目录 "code-runner.fileDirectoryAsCwd": true, // 这里只保留了 C 和 C++ 的编译命令,有需要其他语言的请自行添加 "code-runner.executorMap": { "c": "gcc $fileName -o $fileNameWithoutExt && ./$fileNameWithoutExt", "cpp": "g++ $fileName -std=c++11 -o $fileNameWithoutExt && ./$fileNameWithoutExt", }, // 运行代码后切换焦点至终端,方便直接输入测试数据 "code-runner.preserveFocus": false, // 在运行代码之前保存文件 "code-runner.saveFileBeforeRun": true,
但是你会发现你可能没有一个正常的GCC编译器,如果有Xcode,那么将是clang,他不支持万能头文件,而且标准不太一样
这时候可以通过Homebrew安装GCC
如果没有安装Homebrew可以在终端执行这个指令,关于这个东西的介绍和使用可以到这里 https://brew.sh/index_zh-cn.html
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装gcc也很简单
brew install gcc
安装好了只要改一下~/bash_profile就好了,加入如下几行,因为我是安装的9,至于你是多少请随机应变
export PATH="/usr/local/Cellar/gcc/9.1.0/bin:$PATH" alias gcc='gcc-9' alias g++='g++-9' alias c++='c++-9'
可以刷新下系统文件
1 source ~/.bash_profile
输入g++-9 -v(其实这个时候和g++ -v等效的)显示这一坨就说明你好了,你在命令行编译cpp文件就可以使用万能头文件了
sing built-in specs. COLLECT_GCC=g++-9 COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc/9.1.0/libexec/gcc/x86_64-apple-darwin18/9.1.0/lto-wrapper Target: x86_64-apple-darwin18 Configured with: ../configure --build=x86_64-apple-darwin18 --prefix=/usr/local/Cellar/gcc/9.1.0 --libdir=/usr/local/Cellar/gcc/9.1.0/lib/gcc/9 --disable-nls --enable-checking=release --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-9 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-isl=/usr/local/opt/isl --with-system-zlib --with-pkgversion='Homebrew GCC 9.1.0' --with-bugurl=https://github.com/Homebrew/homebrew-core/issues --disable-multilib --with-native-system-header-dir=/usr/include --with-sysroot=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk Thread model: posix gcc version 9.1.0 (Homebrew GCC 9.1.0)
然后VSC右键或者快捷键直接运行,就可以get到酸爽了
使用gdb进行调试
快捷键
通用
⇧⌘P, F1 显示控制台
⌘P 快速打开,快速查找并进入文件
⇧⌘N 新建窗口(不是文件)
⌘W 关闭窗口
基本编辑
⌘X 删除整行 (不需要选中)
⌘C 复制整行 (不需要选中)
⌥↓ / ⌥↑ 上下移动整行
⇧⌥↓ / ⇧⌥↑ 复制整行,并粘贴到此行的上面/下面
⇧⌘K 删除行
⌘Enter / ⇧⌘Enter 插入行
⇧⌘\ 光标跳到对应的括号
⌘] / ⌘[ 缩进
Home / End 跳到行首行尾
⌘↑ / ⌘↓ 跳到首行或尾行
⇧⌘[ / ⇧⌘] 折叠和展开区域(验证了一下,这个组合键是左右切换文件)
⌘K ⌘[ / ⌘K ⌘] 折叠或展开选中的区域
⌘K ⌘0 / ⌘K ⌘J 折叠或展开所有的区域
⌘K ⌘C 加注释
⌘K ⌘U 删除注释
⌘/ 删除或注释
⇧⌥A 给选中的代码添加或删除注释(/* */)
⌥Z 切换自动换行
搜索和替换
⌘F 查找
⌥⌘F 替换
⌘G / ⇧⌘G 查找下一个或上一个
⌥Enter 选择所有的查找结果(不懂)
⌘D Add selection to next Find match
⌘K ⌘D Move last selection to next Find match
导航栏
⌘T 展示所有符号(显示本文件中的所有函数)
⌃G 去到指定行
⌘P 快速打开文件
⇧⌘O 跳到某个函数
⇧⌘M 显示报错面板
F8 / ⇧F8 跳到下一个/前一个错误或警告
⌃⇧Tab 导航所有打开的文件
⌃- / ⌃⇧- 最近查看的文件之间跳转
⌃⇧M 切换选项卡移动焦点(不懂)
编辑器管理
⌘W 关闭编辑器
⌘K F 关闭文件夹
⌘\ 拆分编辑器
⌘1 / ⌘2 / ⌘3 切换到第1,2,3个编辑器
⌘K ⌘← / ⌘K ⌘→ 切换编辑器组
⌘K ⇧⌘← / ⌘K ⇧⌘→ 编辑器左移右移
⌘K ← / ⌘K → 移动当前编辑器组
文件管理
⌘N 新建文件
⌘O 打开文件
⌘S 保存
⇧⌘S 另存为
⌥⌘S 保存所有文件
⌘W 关闭
⌘K ⌘W 关闭所有文件
⇧⌘T 重新打开关闭掉的文件
⌘K Enter 保持打开
⌃Tab / ⌃⇧Tab 打开下一个或前一个文件
⌘K P 复制当前文件的路径(不好使啊)
⌘K R 在浏览器中显示当前文件
⌘K O 在新窗口中显示当前文件