Skip to content

easyatm/code_cpp_helloworld

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

code_cpp_helloworld

本项目的重点:在 Visual Studio Code 中配置和使用 tasks.json(任务)与 launch.json(启动/调试配置),配合 CMake 生成并调试一个最小的 C++ 可执行文件。

仓库概要

  • CMakeLists.txt:CMake 构建脚本
  • src/main.cpp:示例程序
  • build/:CMake 生成的输出(建议加入 .gitignore
  • .vscode/tasks.json:定义了常用构建/清理/配置任务(仓库已包含)
  • .vscode/launch.json:调试配置(下面有示例)

如果你的目标是教别人如何在 VS Code 中定义任务与启动项,这份仓库示例已经包含可直接使用的 tasks.json(用于配置、构建、清理与复合任务)。下面说明如何使用与配置。

快速开始(在 VS Code 中)

  • 打开项目文件夹:File > Open Folder...,选择本仓库根目录。
  • 首次使用建议先运行 配置项目 任务,生成 build/ 目录:按 Ctrl+Shift+P 输入 Tasks: Run Task,选择 配置项目
  • 然后运行 生成项目(或使用快捷键 Ctrl+Shift+B,若已将某任务标记为默认构建任务)。

如何运行任务

  • 打开命令面板 Ctrl+Shift+P,输入 Tasks: Run Task,选择希望执行的任务(例如 生成项目清理项目重新生成项目)。
  • 默认构建任务:Ctrl+Shift+B 会运行 tasks.jsongroup.kind == "build"isDefault == true 的任务(示例中为 生成项目)。

调试(launch.json 示例)preLaunchTask 指向 生成项目,确保在启动调试前可执行文件已构建。仓库根目录下的 .vscode/launch.json 包含一个 Windows/MSVC 的配置示例如下:

{
	"version": "0.2.0",
	"configurations": [
		{
			"name": "Debug HelloWorld (Windows)",
			"type": "cppvsdbg",
			"request": "launch",
			"program": "${workspaceFolder}/build/Debug/HelloWorld.exe",
			"args": [],
			"cwd": "${workspaceFolder}",
			"stopAtEntry": false,
			"preLaunchTask": "生成项目"
		}
	]
}

说明:

  • type: 在 Windows + MSVC 下使用 cppvsdbg;若使用 gdb/lldb(如 MinGW/WSL)请改为 cppdbg 并调整相应 miDebuggerPath
  • program: 指向编译生成的可执行文件路径(根据你的 CMake 输出目录调整)。
  • preLaunchTask: 指定在开始调试前自动运行的任务(本仓库中的 生成项目)。

如何让 launch.json 找到正确的可执行

  • 如果你的 CMake 配置生成到不同目录(例如 build/bin 或使用多配置生成器),请修改 program 指向正确输出路径。你也可以使用变量或在 CMake 中固定输出目录。

示例流程(从 VS Code 里)

  1. 打开命令面板 -> Tasks: Run Task -> 配置项目(只需做一次或在需要时)。
  2. F5(或点击调试面板的绿色运行按钮)启动调试,VS Code 将先执行 preLaunchTask(即 生成项目),然后启动调试会话。

可选:使用 CMake Tools 扩展

  • 若想要更自动化、图形化的 CMake 支持(选择编译器、配置、调试目标),可以安装 Microsoft 的 CMake Tools 扩展。该扩展会自动检测 CMake 配置,提供 "Build"/"Configure"/"Debug" 按钮,并能生成更复杂的 launch.json

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published