1 Star 0 Fork 0

forever/vscode_cpp_tool

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

vscode_cpp_tool

该仓库用于在VSCode 中方便的编译c、c++程序,依赖 VSCode的.vscode配置 + CMake + make / Ninja 等。该项目是一个shell脚本,在windows的 git bash,cygwin以及 linux 中已验证。不支持MSYS2。该仓库在windows下.vscode默认使用git bash终端,可自行调整。

如何使用

1. 安装依赖

  • Terminal (linux) / Git Bash (windows)
  • CMake
  • make / Ninja
  • VSCode(可选)
  • C/C++ Extension for VSCode(插件可选)
  • Task Buttons Extension for VSCode(插件可选)

2. 搭建项目

首先进入自己项目的根目录,运行此仓库的install_tool.sh脚本,脚本会自动搭建好。或者手动将仓库中的.vscode和tools目录拷贝到项目根目录下。

前提:

  • 项目根目录下应该不要存在.vscode目录与tools目录,因为脚本会创建这两个目录,为了避免冲突请在运行install_tool.sh脚本的时候,请先清理好项目目录。

  • 若不需要使用vscode可以不依赖.vscode目录,仅仅需要tools/script目录下的cb.sh与script.conf文件即可。

install_tool.sh脚本的内容如下

cb.sh的使用

cb.sh依赖script.conf文件,在使用cb.sh之前请将script.conf放在其同级目录下。

script.conf参数说明

script.conf中的参数都可以自行进行合理的修改 ,以下是script.conf中参数的说明:

gcc / clang 类编译器:

  • c_compiler: c语言编译器,若编译器在环境变量中,可直接填写。如:gcc。若编译器不在环境变量中则需要绝对路径。如:/usr/local/bin/gcc C:/path/mingw/bin/gcc.exe C:\path\mingw\bin\gcc.exe(目前windows下右斜杠不用双斜杠)。

  • cpp_compiler: c++编译器。同c_compiler。

  • build_type: 编译类型,目前仅验证Debug 与 Release。需要是VALID_BUILD_TYPES列表中的值。

  • VALID_BUILD_TYPES: 编译类型列表,用于校验build_type参数。

  • source_dir: 源代码目录,顶层CMakeLists.txt所在目录。

  • build_dir: 编译目录,编译结果输出目录。若指定则使用指定的目录,若不指定则默认在source_dir下创建build目录下自动根据编译器生成不同的目录。

  • generator: 编译器生成器,目前验证Ninja 与 Unix Makefiles。

  • parallel_jobs: 并行编译数,可自行修改。默认使用parallel_jobs=$((cpu_count > 2 ? cpu_count - 2 : 1))。

MSVC 编译器:

MSVC 编译器必须msvc_env_script与host_arch参数,c_compiler与cpp_compiler参数不指定。

  • msvc_env_script: msvc环境脚本,用于设置msvc环境变量(目前windows下右斜杠不用双斜杠)。

  • host_arch: 目标架构,x86 或 x64。

  • build_type: 编译类型,目前仅验证Debug 与 Release。需要是VALID_BUILD_TYPES列表中的值。

  • VALID_BUILD_TYPES: 编译类型列表,用于校验build_type参数。

  • source_dir: 源代码目录,顶层CMakeLists.txt所在目录。

  • build_dir: 编译目录,编译结果输出目录。若指定则使用指定的目录,若不指定则默认在source_dir下创建build目录下自动根据编译器生成不同的目录。

  • generator: 编译器生成器,目前验证Ninja 与 Unix Makefiles。

  • parallel_jobs: 并行编译数,可自行修改。默认使用parallel_jobs=$((cpu_count > 2 ? cpu_count - 2 : 1))。

cb.sh使用命令说明

cb.sh脚本依赖script.conf文件中的参数具有一些记忆功能,但也可以通过命令行让其不过分依赖。

cb.sh脚本的使用方法如下:

# -t|--type 切换默认的编译类型
./cb.sh -t
./cb.sh -t Debug
./cb.sh -t Release
./cb.sh --type


# -g|--generate 生成CMake缓存
./cb.sh -g
./cb.sh -g Debug
./cb.sh -g Release
./cb.sh --generate

# -b|--build 编译
./cb.sh -b
./cb.sh -b Debug
./cb.sh -b Release
./cb.sh -b --target all # 指定编译目标 all
./cb.sh -b Debug --target all # 指定编译Debug编译类型,编译目标 all
./cb.sh -b Release --target all # 指定编译Release编译类型,编译目标 all
./cb.sh --build

# -c|--clean 清理
./cb.sh -c
./cb.sh --clean

# -r|--run 运行
./cb.sh -r
./cb.sh -r Debug
./cb.sh -r Release
./cb.sh --run

# -h|--help 帮助
./cb.sh -h
./cb.sh --help

vscode配置

.vscode目录按照作者的习惯,做了一些配置,可以自行修改。

alt text

如上图的1-5按钮,分别对应了生成1.CMake缓存、2.编译、3.运行、4.清理、5.切换Debug/Release编译类型。

也可以在终端中使用cb.sh使用命令说明中的命令,也可以在vscode中使用Task Buttons Extension for VSCode插件,配置好快捷键,即可快速编译运行。

MIT License Copyright (c) 2025 forever Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

该仓库用于在VSCode 中方便的编译c、c++程序,依赖 VSCode的.vscode配置 + CMake + make / Ninja 等。该项目是一个shell脚本,在windows git bash与 linux 中已验证。 展开 收起
README
MIT
取消

发行版 (1)

全部
5天前

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Shell
1
https://gitee.com/wiseforever/vscode_cpp_tool.git
git@gitee.com:wiseforever/vscode_cpp_tool.git
wiseforever
vscode_cpp_tool
vscode_cpp_tool
master

搜索帮助