claude code技巧学习第二篇,本篇文章将会介绍更多的 claude code使用技巧,继续深入讲解插件、Subagent、自动化等概念,助力大家更好地使用 claude code
1. Plugin(插件)前面我们已经介绍了 :
skills: 为了完成任务,而将一套的提示词、流程、模板、脚本等打包到一起的能力包,在 claude code需要的时候可以自己调用。
Hooks: 在 claude code中运行到了关键节点的时候插入的规则,比如动手前拦截、结束前验收。
除了这些之外,还有一个重要的组件 MCP Server,它的作用就是将外部的工具和数据源链接到 Claude code,比如浏览器、邮箱、数据库、notion 等。它的作用就是调用外部工具以获取数据。
而现在我们介绍的 Plugin(插件)就是集中了这些东西,赋予了 claude code处理一整套工作的能力。比方说我们进行一个视频渲染的工作流时,可以使用 skills来管理视频的分镜,在特殊节点,特定的 hooks会来检查此时工作区的状态是不是符合要求,最后 claude code还可以调用外部工具来渲 ...
Claude code深入浅出(技巧篇1)上一期我们介绍了基础的 Claude Code安装,这一期开始我们就要开始进行 Claude Code使用技巧的学习,详细介绍,会话管理、全权限管理、Tools、Hooks以及Skills 的相关概念及其实践。接下来我们坐稳扶好准备发发车 😄
1.工作区介绍经过上期,我们安装了 VS Code的 Claude Code插件,摆脱了 CLI方式较为复杂晦涩的操作界面,接下来我们就先来学习一下它的基础功能。
1.1 会话管理点击这个橙色的按钮,可以增加多个会话,每一个会话都拥有独立上的上下文,也就是我们所说的拥有独立的记忆,就和我们在使用 Chat APP一样的效果,每一个会话之间不会u相互干扰,这样可以让 AI更加专注的解决精细的问题。
比如现在我在一个会话里面告诉 Claude Code我的名字,再通过另一个会话询问 Claude Code。就可以看出他们之间的 记忆隔离
现在通过点击橙色的小按钮或者是 点击 New Session按钮创建一个新的会话,再次询问他我的名字是什么,即可验证~~
可以看出 会话之间不存在记忆互通,但是我的 ...
Claude Code 深入浅出(安装篇)
这是一个 0基础的 claude code 的安装、使用教程 在接下来的几篇文章中我会一步一步的带大家 从安装到功能介绍 ,再到进阶功能的使用一步一步的带大家 深入浅出掌握 claude code的使用技巧,在 AI时代拒绝焦虑,现在就开始行动起来吧。
1. 安装 git安装 Claude Code的前置要求,首先就是安装 git,当然可能有的小伙伴可能会以为:学个 Claude Code还要先学习 git么?当然不是!!(git 在实际的工程中是重要的版本对比和回溯工具,有兴趣的小伙伴可以自行搜索了解)
我们安装 git是给 ai来使用的大家大可放心,一般情况下,我们只需要使用自然语言和他对话就好了~~ 🌈
针对于不同的操作系统下载的方式会有些不同
MacOS
直接在终端运行这行命令即可
1brew install git
Linux(Ubuntu/Debian)
不同的发分支操作系统可能会有些不同,在终端中输入这两行命令(分开分别粘贴,运行完,再粘贴下一条!)
12sudo apt updatesudo apt i ...
编程语言
未读前面我们对C++有了一些学习,但是C++11 standars对于C++本身来说是一个机器重要的版本的更新,其中还有很多有趣的知识需要我们继续学习。 🌈 😋
1. const 与constexpr1.1 顶层const和底层const
指针本身就是一个对象,他可以指向另一个对象,因此指针就涉及到了本身是不是**const**和被指向的对象是不是**const**的问题, C++为了很好的区分这个,就把本身被const修饰的对象成为**顶层const**, 把指向对象被**const**修饰的叫做**底层const。**
大多数的对象被const修饰都是等层const, 指针被const修饰时, ***左边的const叫底层const,*右边的const叫做顶层const**。
const修饰引用时,这个const就是底层const
123456789int main(){ int i = 0; int* const p1 = &i; // 顶层const const int ci = 42; // 顶层const const i ...
1. C++11 发展的历史c++11是 c++的第二个主要的版本, 并且是从 c++98 最重要的更新。他最终由 ISO在2011 年8月12日采纳,
人们曾经使用名称 c++0x,用为他曾经被期待在2010年之前更新。 c++11 与 c++03 之间的更新相差8年,
是更新间隔最长的一次版本。从那时起,c++有规律地每3年更新一次。
学习内容
初始化列表
现在我们就来认真地学习一下这个被称为改变 c++ 历史的更新
2. 列表初始化2.1 c++98 传统的💡
12345678910111213struct Point{ int _x; int _y;};int main(){ int array1[] = { 1, 2, 3, 4, 5 }; int array2[5] = { 0 }; Point p = { 1, 2 }; return 0;}
2.2 c++中的 {}c++11之后,标准制定组织试图实现一切对象皆可用 {} 初始化为, ...
📚 导读
了解为什么要关注 C++17 的 std::filesystem 和并行算法
快速掌握常用 API 与并行执行策略
通过实战示例感受“文件系统 + 并行”的威力
📌 一、为什么要关心 C++17 的这两部分?在 C++17 之前,标准库对 文件系统操作 和 并行计算 支持都比较薄弱:
操作文件和目录通常依赖平台 API(如 POSIX、Win32)或 Boost.Filesystem。
想利用多核 CPU,往往要手写线程池或使用第三方库。
C++17 引入了两块关键能力:
std::filesystem:跨平台的标准文件系统库。
std::execution 并行算法:在熟悉的 <algorithm> 基础上,通过执行策略轻松启用并行。
这两者结合,可以很方便地写出“既能遍历磁盘、又能吃满多核 CPU”的实用程序。
📁 二、std::filesystem:现代 C++ 的文件系统库🔧 2.1 基本概念与命名空间概念讲解
头文件:<filesystem>
命名空间:std::filesystem(通常起个别名 fs ...
C++20 模块化详解💡 C++20 模块(Modules)是 C++ 语言自诞生以来对「头文件机制」最大的一次重构,目标是:更快的编译速度、更清晰的接口边界、更强的封装性。
1. 为什么需要模块?在 C++20 之前,我们用 #include + 头文件 来组织代码:
每个 .cpp 包含同样的头文件时,编译器会重复解析所有内容
复杂的 #include 链条导致编译依赖非常脆弱,一点改动就会触发大量重编译
宏和实现细节会污染全局命名空间,容易出现命名冲突
模块的核心目标:
一次编译,多处复用:接口单独编译成二进制描述,后续 import 直接复用
边界清晰:显式导出需要暴露的符号,默认实现细节对外不可见
减少宏污染:模块内部宏不会泄漏到使用者
显著提升编译速度:大工程中可实现 2–5 倍的整体编译提速
2. 模块的基本概念与文件结构2.1 模块单元(Module Unit)一个模块由若干个「模块单元」组成,常见类型:
主模块接口单元(Primary Interface Unit):模块对外暴露的主入口
模块实现单元(Module Implementati ...
前情提要:学习C++11的并发库必须要是对Linux的多线程了解,这里我们并不是从零开始讲解并发库,不会涉及到线程知识的讲解。
1. thread库🧵线程库的文档资料
🗨️thread库是对各个系统底层的库进行了封装,(Linux --> pthread, Windows --> Thread),所以**c++11**提供的线程库是跨平台的支持线程使用的库。同时继承了**C++11**的面向对象特性,使其使用方式更加的便捷。
在线程库中,构造函数有4种,日常最实用的有两种,它支持传入一个可调用对象和所需的参数即可,相比于pthread_create而言这里不再局限与传递函数指针,其次传递参数的方法也更加的方便
另外也可以使用第一个和第四个可以配合起来创建线程我们可以使用右值引用对象移动赋值或者是构造给另一个线程对象。
第3个现在已经删除,所以可以看作是,线程对象不支持拷贝。
join是主线程结束前强制阻塞等待创建的从线程,否则主线程结束,进程就结束了,从线程可能在运行就会被强行终止!
clas thread::id 是一个thread的内部类用来表示线 ...
1. 新的求值顺序🌐参考网站资料:
在C++17之前,很多表达式的求值顺序都是未指定的(unspecified),这意味着编译器可以自由选择求值顺序,这导致了不确定性和潜在的bug, C++17的求值顺序规则大大提高了代码的可预测性和安全性,消除了许多历史遗留下来的未定义行为问题。
建议还是不要依赖未指定的求值顺序,即使C++17修复了一些问题,最好还是写出不依赖特定求值顺序的代码,否则代码的可维护性和可读性都会变差,建议将复杂的表达式拆分为多个简单的语句。
表达式类型
C++17之前
C++17之后
a = b
未指定
先求值b,在求值a
a += b, a -=b
未定义
先求值b, 在求值a
a << b, a >> b
未指定
从左到求值
a[b]
未定义
先求值a, 在求值b
a → b
未定义
先求值a, 再求值b
f(a, b, c)
未定义
参数求值顺序仍然未指定,但都在函数调用之前✅
new Type(a, b)
未定义
先求职所有参数,在分配内存
12345678 ...
1. C++14 的介绍
在这里我们可以发现 c++14 是·c++11的这要版本之后的一个次要版本,主要包括了改进和缺陷修复,更新的语法和并发库不是很多。他是在2014年8月18日获得批准,2015年12月15日首发。
那么就让我们开始学习 c++14 标准的新特性和语法吧。 🌈 🌈
2. 变量模板c++14 允许使用变量模板,还可以适用于变量。
一个简单的例子:
12345678910111213141516171819202122232425262728293031#include <iostream>template<class T>constexpr T pi = T(3.1415926535897932385L); // 变量模板 template<class T>T circular_area(T r) // 函数模板 { return pi<T> *r * r; // pi<T> 是变量模板实例化 }template<std::size_t N>constexpr std:: ...



