头像


🎬 个人主页艾莉丝努力练剑

专栏传送门:《C语言》《数据结构与算法》《C/C++干货分享&学习过程记录
Linux操作系统编程详解》《笔试/面试常见算法:从基础到进阶》《Python干货分享

⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平

🎬 艾莉丝的简介:

在这里插入图片描述



在这里插入图片描述


1 ~> AI 编程辅助工具体系

1.1 AI 编程插件类

1.1.1 核心定位

以 IDE 插件形态交付,依托现有编辑器底座提供 AI 编码增强能力,主流产品均兼容 VS Code 与 JetBrains 系列 IDE。

1.1.2 主流产品参数

插件名称 支持平台 核心能力
GitHub Copilot VS Code、JetBrains IDEs 等 实时代码补全、Copilot Chat 对话、多语言上下文感知、测试用例生成
Fitten Code VS Code、JetBrains IDEs 等 代码补全、Bug 静态检测、注释生成、单元测试自动生成
Cline VS Code 项目级文件读写、命令行任务执行、浏览器环境集成、权限确认机制、任务链编排
通义灵码 VS Code、JetBrains IDEs、独立 IDE 多文件批量修改、MCP 工具链调用、行间会话、个性化记忆体系

1.2 命令行终端类 AI 编程工具

1.2.1 核心定位

无需图形化 IDE,直接在终端环境与大模型交互,适配服务器运维、纯终端开发场景。

1.2.2 主流产品参数

工具名称 核心功能 支持模型
Claude Code 长文档分析与逻辑推理、代码生成与安全审查、最高 200K 长上下文、自然语言交互 Claude 3 系列
Gemini CLI 终端内对话、代码生成与错误解释、通用文本处理、多模态文件传输 Gemini-2.5-pro

1.3 AI 原生编程 IDE

1.3.1 技术共性

  • 全部基于 VS Code 开源内核二次开发,操作逻辑与 VS Code 高度一致
  • 支持直接导入 VS Code 配置,用户迁移成本极低
  • 深度集成大模型,提供全项目级 AI 开发能力,能力强于普通插件

1.3.2 主流产品参数

IDE 名称 出品方 核心特性 内置模型
Cursor - 代码自动生成、智能补全、Bug 修复、多文件编辑、自然语言命令 Claude、GPT-4、Gemini 等
IDX 谷歌 云端 VS Code 体验、内置 Android 模拟器与 Firebase、全栈应用一键部署 深度集成 Gemini 家族
Kiro 亚马逊 需求管理、自动化开发、代码修改预览、即时撤销、Agentic Chat Claude-Sonnet-4、Claude-Opus-4
Trae 字节跳动 国内访问稳定、内置 Remote SSH、Agent 自动编程、智能补全问答 DeepSeek、Doubao、Kimi、Qwen 等
Qoder 阿里巴巴 代码库全景理解、智能结对编程、Quest 模式、长短期记忆系统 Claude、GPT、Gemini 等
CodeBuddy 腾讯 设计稿转代码、全栈开发、内置腾讯云服务、一键部署分享 腾讯混元、DeepSeek 等

1.3.3 选型依据

本项目选型 Trae IDE,核心原因是国内网络访问稳定、基础功能免费,且原生内置 Remote SSH,无需额外安装插件。


2 ~> Trae IDE 环境配置

2.1 产品定位

Trae IDE 是基于 VS Code 内核、与 AI 深度集成的开发工具,提供智能问答、代码自动补全以及基于 Agent 的 AI 自动编程能力,支持本地开发与远程开发两种模式。

**补充:**Trae 自身不携带编译、链接工具链,编译构建能力完全依赖宿主环境的 gcc、cmake 等系统工具。

2.2 安装与远程连接

2.2.1 基础信息

  • 官方地址:https://www.trae.ai/
  • 官方文档:https://docs.trae.ai/ide/what-is-trae?_lang=zh
  • 下载页面:https://www.trae.ai/download
  • 兼容系统:macOS、Windows 10/11、Linux

2.2.2 Remote SSH 能力

  • Trae 内置 Remote SSH 组件,无需额外安装插件即可连接远程 Linux 主机
  • 连接流程:选择「连接远程主机」→ 输入ssh 用户名@IP地址 → 验证密码 / 密钥完成登录
  • 连接成功后,终端与文件管理器均对应远程主机环境

2.3 C/C++ 远程开发必备插件

远程开发模式下,以下插件的服务端安装在远程主机,为 C/C++ 项目提供语法与构建支持。

2.3.1 clangd 插件

  • 定位:C/C++ 语言服务插件
  • 核心功能:
    • 语法高亮与智能代码补全
    • 实时静态检测:语法错误、类型不匹配、符号未定义
    • 代码导航:快速跳转变量 / 函数定义与引用
    • 悬停提示:显示函数签名、参数说明与注释文档

2.3.2 CMake Tools 插件

  • 定位:CMake 构建系统集成插件
  • 核心功能:生成构建配置、编译器选型、构建目标管理、一键编译与调试

3 ~> C++ 第三方依赖库体系

3.1 基础工具链

3.1.1 build-essential

  • 作用:Ubuntu 编译基础元包,包含 gcc、g++、make 等核心编译工具

3.1.2 cmake

  • 作用:跨平台构建工具,用于生成项目编译配置与管理构建流程

3.1.3 pkg-config

  • 作用:编译辅助工具,自动查找第三方库的头文件路径与链接参数

3.1.4 curl

  • 作用:命令行网络请求工具,用于测试 HTTP/HTTPS 接口、验证 API 连通性

3.2 业务功能库

3.2.1 gflags

  • 定位:谷歌开源命令行参数解析库
  • 系统安装包:libgflags-dev

3.2.2 spdlog

  • 定位:高性能 C++ 日志库,以 header-only 模式为主
  • 系统安装包:libspdlog-dev

3.2.3 fmt

  • 定位:现代 C++ 格式化库,类型安全,易用性与性能优于 printf 与 iostream
  • 系统安装包:libfmt-dev

**补充:**禁止安装fmt包,该包仅为运行时库,不含开发头文件与静态库。

3.2.4 jsoncpp

  • 定位:C++ JSON 解析与序列化库
  • 系统安装包:libjsoncpp-dev
  • 标准头文件引入:#include <jsoncpp/json/json.h>

3.2.5 libssl-dev

  • 定位:OpenSSL 开发包,提供 SSL/TLS 协议实现
  • 作用:支撑 HTTPS 通信、数据加密解密等安全功能

3.2.6 gtest

  • 定位:谷歌开源 C++ 单元测试框架
  • 系统安装包:libgtest-dev(仅含源码,需手动编译生成静态库)

3.2.7 cpp-httplib

  • 定位:轻量级 C++ HTTP 客户端 / 服务端库,纯 header-only 实现
  • 部署方式:直接拷贝头文件至系统 include 目录或项目源码目录

4 ~> 环境部署全流程与验证

4.1 第一步:更新源与安装基础工具链

执行路径:任意目录,推荐家目录 ~

# 更新软件源索引
sudo apt update
# 批量安装编译基础工具
sudo apt install -y build-essential cmake pkg-config curl

4.2 第二步:安装 apt 可直接获取的开发库

# 1. gflags 命令行参数解析
sudo apt install -y libgflags-dev
# 2. spdlog 高性能日志库
sudo apt install -y libspdlog-dev
# 3. fmt 格式化库
sudo apt install -y libfmt-dev
# 4. jsoncpp JSON解析库
sudo apt install -y libjsoncpp-dev
# 5. OpenSSL 加密开发包
sudo apt install -y libssl-dev
# 6. gtest 源码包
sudo apt install -y libgtest-dev

4.3 第三步:手动编译安装 GTest

**补充:**以下为标准外源码构建方案,优于原文档的源码内构建,不会污染源码目录。

# 进入gtest源码目录
cd /usr/src/gtest
# 创建独立构建目录(工程规范做法)
sudo mkdir build && cd build
# 生成Makefile
sudo cmake ..
# 执行编译
sudo make
# 将编译好的静态库拷贝到系统库目录
sudo cp lib/*.a /usr/lib/
# 返回家目录
cd ~

4.4 第四步:安装 cpp-httplib

4.4.1 官方直连方式(网络通畅环境)

cd /tmp
git clone https://github.com/yhirose/cpp-httplib.git
cd cpp-httplib
sudo cp httplib.h /usr/include/
cd ~

4.4.2 国内加速方式(国内环境推荐)

cd /tmp
# 通过ghproxy代理加速GitHub下载
git clone https://ghproxy.com/https://github.com/yhirose/cpp-httplib.git
cd cpp-httplib
sudo cp httplib.h /usr/include/
cd ~

4.4.3 备选方案

  • 手动下载 ZIP 包上传至远程主机,解压后拷贝头文件
  • 直接将httplib.h放入项目源码目录,使用#include "httplib.h"相对路径引入

4.5 第五步:环境完整性验证

4.5.1 创建测试代码 test.cpp

#include <gflags/gflags.h>
#include <spdlog/spdlog.h>
#include <fmt/core.h>
#include <jsoncpp/json/json.h>
#include <httplib.h>
#include <gtest/gtest.h>
#include <iostream>

// 定义gflags命令行参数
DEFINE_string(name, "world", "Your name");

int main(int argc, char* argv[]) {
    // 测试 gflags 参数解析
    gflags::ParseCommandLineFlags(&argc, &argv, true);
    std::cout << "Hello " << FLAGS_name << std::endl;

    // 测试 spdlog 日志输出
    spdlog::info("spdlog works!");

    // 测试 fmt 格式化能力
    std::string msg = fmt::format("fmt says: {}", 42);
    std::cout << msg << std::endl;

    // 测试 jsoncpp 序列化
    Json::Value root;
    root["key"] = "value";
    std::cout << "jsoncpp: " << root.toStyledString() << std::endl;

    // 测试 httplib 头文件(仅验证头文件可正常引入)
    httplib::Client cli("http://example.com");
    std::cout << "httplib header included successfully." << std::endl;

    // 测试 gtest 库链接
    EXPECT_EQ(1, 1);
    std::cout << "gtest linkage verified." << std::endl;

    return 0;
}

4.5.2 编译与运行命令

# 编译测试程序,链接所有依赖库与pthread
g++ test.cpp -lgflags -lspdlog -lfmt -ljsoncpp -lgtest -lgtest_main -pthread -o test

# 运行测试程序,传入自定义参数
./test --name=Trae

4.5.3 成功标准输出

Hello Trae
[2026-08-16 00:20:30.810] [info] spdlog works!
fmt says: 42
jsoncpp: {
    "key" : "value"
}

httplib header included successfully.
gtest linkage verified.

输出全部内容即代表所有依赖库安装、链接正常,开发环境就绪。

4.6 补充:curl 接口测试示例

**补充:**原文档示例存在字段拼写错误、JSON 语法错误,以下为可直接运行的标准写法。

curl https://api.deepseek.com/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <DeepSeek API Key>" \
  -d '{
    "model": "deepseek-chat",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ],
    "stream": false
  }'

结尾

uu们,本文的内容到这里就全部结束了,艾莉丝在这里再次感谢您的阅读!

艾莉丝努力练剑

C/C++ & Linux 底层探索者 | 一个正在努力练剑的技术博主


👀 【关注】 跟随我一起深耕技术领域,见证每一次成长。
❤️ 【点赞】 让优质内容被更多人看见,让知识传递更有力量。
【收藏】 把核心知识点存好,在需要时随时查、随时用。
💬 【评论】 分享你的经验或疑问,评论区一起交流避坑!

不要忘记给博主“一键四连”哦!

“今日练剑达成!”

“技术之路难免有困惑,但同行的人会让前进更有方向。”

结语:希望对学习Linux相关内容的uu有所帮助,不要忘记给博主“一键四连”哦!

往期回顾

【AI接入大模型SDK】人工智能发展历史 & AI相关岗位 & AI能否取代程序员

🗡博主在这里放了一只小狗,大家看完了摸摸小狗放松一下吧!🗡
૮₍ ˶ ˊ ᴥ ˋ˶₎ა

在这里插入图片描述

Logo

AtomGit AI 社区提供模型库、数据集、Agent、Token等资源

更多推荐