English | 简体中文
别再 cd 来 cd 去了!
在 Vibe Coding 时代,用 CLI 驾驭 AI 编码工具 Claude Code、Codex、Gemini CLI、Droid... 一键急停定位,瞬间切换项目 ⚡
2025 年,Vibe Coding 时代已经到来:
- 🤖 Claude Code 让你在终端用 AI 写代码
- ⚡ Codex、Gemini CLI、Droid 等 CLI AI 编程助手遍地开花
- 🖥️ 越来越多开发者回归命令行,享受纯键盘流
但是...
# 每天重复这些?
PS C:\> cd E:\Projects\WebApp
PS E:\Projects\WebApp> # 写了半天,突然想起另一个项目...
PS E:\Projects\WebApp> cd ..\..\OtherProject\Backend
PS E:\OtherProject\Backend> # 路径太长记不住?又要回去?
PS E:\OtherProject\Backend> cd "E:\Work\Client Projects\Some Long Name\Nested\Folder"
# 😭 够了!我只是想切个项目而已!问题来了:
- ❌ 项目路径记不住,每次都要翻文件管理器
- ❌ 多层嵌套目录,
cd ../../../数到头晕 - ❌ Tab 补全太慢,项目名字太长
- ❌ 终端标签一堆,搞不清哪个是哪个项目
一个命令,搞定一切:
PS C:\> cdp
┌─ Select project: ────────────────────────────┐
│ > cdp │
│ MyAwesomeApp │
│ ClientProjectAlpha │
│ Backend-API-v2 │
│ ... │
└──────────────────────────────────────────────┘
# 输入几个字母,模糊匹配,回车 → 瞬间切换!
# 终端标签标题自动更新为项目名就这么简单。
- 模糊搜索:输入
web匹配WebApp、WebSite、MyWebProject - 键盘流:方向键 + Enter,零鼠标操作
- 视觉感知:终端标签自动显示项目名,再也不会迷路
- 零配置:已有 Project Manager 插件?直接用!
- 即时启动:fzf 驱动,毫秒级响应
- 智能配置:自动读取 Project Manager 插件配置
- 一键切换:
cdp三个字母,搞定所有项目 - 快速管理:
cdp-add添加项目,cdp-rm删除项目,cdp-ls查看所有项目
- PowerShell 原生:5.1+ 和 7+ 全兼容
- WSL/Linux 支持:bash/zsh 版本,与 Windows 版本共享配置
- 自动安装脚本:一行命令完成安装
- 扩展性强:可自定义 fzf 选项和快捷命令
一行命令,开箱即用!
# 安装模块
Install-Module -Name cdp -Scope CurrentUser
# 导入模块
Import-Module cdp
# 立即开始使用!
cdp优点:
- ✅ 最简单、最快捷的安装方式
- ✅ 自动管理更新:
Update-Module cdp - ✅ PowerShell 官方包管理,安全可靠
- ✅ 无需下载源码,一条命令搞定
注意:安装后需手动安装 fzf 依赖(见下方说明)
适合想要自定义或贡献代码的开发者。
- PowerShell 5.1+ 或 PowerShell 7+(Windows 自带)
- 项目配置(以下任选其一)
- 选项 A:Project Manager 扩展(VS Code/Cursor)
- 选项 B:自定义 JSON 配置文件(见下方示例)
注意:安装脚本会自动检测并安装 fzf(如果未安装),无需手动操作!
# 克隆仓库
git clone https://github.com/GoldenZqqq/cdp.git
cd cdp
# 运行安装脚本(自动安装 fzf + 自动配置)
.\Install.ps1 -AddToProfile
# 重启终端或重新加载配置
. $PROFILE安装脚本会自动:
- ✅ 检测 fzf 是否已安装
- ✅ 如果未安装,自动使用 winget/scoop/chocolatey 安装 fzf
- ✅ 将模块安装到 PowerShell 模块目录
- ✅ 添加
cdp别名到 PowerShell 配置文件
cdp 使用 fzf 提供模糊搜索功能。
方式 A:自动安装(推荐)
如果使用方式 2 从源码安装,安装脚本会自动为你安装 fzf。
方式 B:手动安装
# 方法 1: 使用 winget(推荐)
winget install fzf
# 方法 2: 使用 scoop
scoop install fzf
# 方法 3: 使用 chocolatey
choco install fzf
# 重启终端后验证
fzf --versioncdp 现在支持在 WSL 和 Linux 环境中使用!一行命令即可完成安装。
bash <(curl -fsSL https://raw.githubusercontent.com/GoldenZqqq/cdp/main/install-wsl.sh) --auto这一条命令会自动完成:
- ✅ 检测并安装 fzf(如果未安装)
- ✅ 检测并安装 jq(JSON 解析工具)
- ✅ 下载并安装 cdp.sh 到
~/.local/bin - ✅ 添加配置到
~/.bashrc或~/.zshrc - ✅ 设置正确的 PATH
安装完成后,重启终端或运行:
source ~/.bashrc # 对于 bash
source ~/.zshrc # 对于 zsh如果你想从本地安装:
# 克隆仓库
git clone https://github.com/GoldenZqqq/cdp.git
cd cdp
# 运行安装脚本
chmod +x install-wsl.sh
./install-wsl.sh --auto # 自动安装依赖- 路径自动转换:自动将 Windows 路径(
C:\path)转换为 WSL 路径(/mnt/c/path) - 共享配置:可以使用与 PowerShell 版本相同的项目配置文件
- 自动检测配置:优先级顺序:
$CDP_CONFIG环境变量~/.cdp/projects.json(自定义配置)- Windows Cursor Project Manager 配置(通过
/mnt/c/...访问) - Windows VS Code Project Manager 配置(通过
/mnt/c/...访问)
cdp # 选择并切换到项目
cdp-add # 添加当前目录为项目
cdp-ls # 列出所有项目# 使用别名(推荐)
cdp
# 或使用完整命令
Switch-Project
# WSL 场景:直接启动 WSL 并切换到项目目录
cdp -WSL交互流程:
- 打开 fzf 模糊搜索菜单
- 输入项目名称(支持模糊匹配)
- 方向键选择,回车确认
- 自动切换到项目目录
- 终端标签标题自动更新
WSL 支持:
- 使用
-WSL参数可从 PowerShell 直接启动 WSL 并进入项目目录 - Windows 路径自动转换为 WSL 挂载路径(
C:\path→/mnt/c/path) - 也可以在 WSL 内使用 bash/zsh 版本的 cdp(见上文安装说明)
# 添加当前目录(自动使用文件夹名作为项目名)
cdp-add
# 或使用自定义名称
Add-Project -Name "我的超级项目"
# 添加指定路径
Add-Project -Path "E:\Projects\MyApp" -Name "MyApp"# 使用别名(推荐)
cdp-ls
# 或使用完整命令
Get-ProjectList显示所有已启用的项目及其路径,带有索引编号。
# 使用 fzf 交互式选择要删除的项目
cdp-rm
# 或指定项目名称直接删除
Remove-Project -Name "旧项目"# 打开配置文件进行手动编辑
cdp-edit
# 或使用完整命令
Edit-ProjectConfig会自动使用 VS Code/Cursor 或系统默认编辑器打开配置文件。
Switch-Project -ConfigPath "C:\my-projects.json"# 添加到 PowerShell 配置文件 ($PROFILE)
# 切换项目并打开 VS Code
function cdpv { cdp; code . }
# 切换项目并显示 Git 状态
function cdpg { cdp; git status }
# 切换项目并启动开发服务器
function cdpd { cdp; npm run dev }
# 切换项目并在资源管理器中打开
function cdpe { cdp; explorer . }| 命令 | 别名 | 描述 |
|---|---|---|
Switch-Project |
cdp |
打开 fzf 菜单选择并切换项目 |
Switch-Project -WSL |
cdp -WSL |
选择项目并启动 WSL 进入该目录 |
Add-Project |
cdp-add |
添加当前目录或指定路径到项目列表 |
Remove-Project |
cdp-rm |
删除项目(支持交互式选择) |
Get-ProjectList |
cdp-ls |
列出所有已启用的项目及路径 |
Edit-ProjectConfig |
cdp-edit |
打开配置文件进行编辑 |
| 命令 | 描述 |
|---|---|
cdp |
打开 fzf 菜单选择并切换项目 |
cdp-add |
添加当前目录或指定路径到项目列表 |
cdp-ls |
列出所有已启用的项目及路径 |
PS C:\> cdp
# fzf 界面示例
┌───────────────────────────────────────┐
│ Select project: proj │
├───────────────────────────────────────┤
│ > cdp │ ← 当前选择
│ ProjectAlpha │
│ ProjectManager-Extension │
└───────────────────────────────────────┘
3/15 ← 匹配 15 个项目中的 3 个
# 选择后
✓ Switched to project: cdp
PS E:\Learn\cdp> # 终端标题 → "cdp"cdp 按以下优先级自动查找配置文件:
- 环境变量
$env:CDP_CONFIG(最高优先级,跳过选择) - 用户自定义配置
~/.cdp/projects.json(首次使用时自动创建) - Cursor Project Manager 插件
%APPDATA%\Cursor\User\globalStorage\alefragnani.project-manager\projects.json - VS Code Project Manager 插件
%APPDATA%\Code\User\globalStorage\alefragnani.project-manager\projects.json
如果系统中存在多个配置文件,cdp 会让你选择使用哪个:
PS C:\> cdp
Multiple configuration files found:
================================================================================
[1] Cursor Project Manager
C:\Users\YourName\AppData\Roaming\Cursor\User\globalStorage\alefragnani.project-manager\projects.json
[2] VS Code Project Manager
C:\Users\YourName\AppData\Roaming\Code\User\globalStorage\alefragnani.project-manager\projects.json
[3] Custom Config (~/.cdp)
C:\Users\YourName\.cdp\projects.json
Tip: Set $env:CDP_CONFIG to skip this selection next time.
Select config file (1-3): _跳过选择(推荐):
如果你总是使用同一个配置文件,可以设置环境变量来跳过每次选择:
# 添加到 PowerShell 配置文件 ($PROFILE)
$env:CDP_CONFIG = "C:\Users\YourName\AppData\Roaming\Cursor\User\globalStorage\alefragnani.project-manager\projects.json"设置后,cdp 将始终使用指定的配置文件,不再提示选择。
WSL/Linux 环境:
在 WSL 或 Linux 中,多配置选择功能同样有效:
# 设置环境变量跳过选择
export CDP_CONFIG="/mnt/c/Users/YourName/AppData/Roaming/Cursor/User/globalStorage/alefragnani.project-manager/projects.json"
# 添加到 ~/.bashrc 或 ~/.zshrc 使其永久生效
echo 'export CDP_CONFIG="/path/to/your/config.json"' >> ~/.bashrc首次使用 cdp-add 命令时,会自动创建 ~/.cdp/projects.json 配置文件:
# 在项目目录中
cd E:\Projects\MyApp
cdp-add # 自动添加到配置并创建文件(如果不存在)如果你已安装 Project Manager 插件(VS Code/Cursor),cdp 会自动读取插件的配置文件。
无需额外配置! 在 Project Manager 中添加项目,cdp 自动识别。
在任意位置创建一个 JSON 文件,例如 C:\my-projects.json:
[
{
"name": "我的网站项目",
"rootPath": "E:\\Projects\\MyWebsite",
"enabled": true
},
{
"name": "后端API",
"rootPath": "D:\\Work\\Backend-API",
"enabled": true
},
{
"name": "个人博客",
"rootPath": "C:\\Code\\PersonalBlog",
"enabled": true
},
{
"name": "旧项目(已禁用)",
"rootPath": "E:\\Archive\\OldProject",
"enabled": false
}
]字段说明:
name: 项目名称(在 fzf 菜单中显示)rootPath: 项目根目录的绝对路径(注意:Windows 路径中的\需要写成\\)enabled: 是否启用此项目(true或false)
设置环境变量(推荐):
# 添加到 $PROFILE
$env:CDP_CONFIG = "C:\my-projects.json"
# 模块会自动检测此环境变量# 添加到 $PROFILE
$env:FZF_DEFAULT_OPTS = @"
--height=50%
--layout=reverse
--border=rounded
--prompt='🚀 项目: '
--color=fg:#f8f8f2,bg:#282a36,hl:#bd93f9
"@如果安装脚本未能自动安装 fzf,手动安装:
# 方法 1: 使用 winget(推荐)
winget install fzf
# 方法 2: 使用 scoop
scoop install fzf
# 方法 3: 使用 chocolatey
choco install fzf
# 重启终端后验证
fzf --version- 确保已安装 Project Manager 扩展
- 在 VS Code/Cursor 中保存至少一个项目
- 检查配置文件路径是否正确
# 重新加载配置
. $PROFILE
# 或手动导入
Import-Module cdp -Force
# 检查模块是否存在
Get-Module -ListAvailable cdp| 方式 | 操作步骤 | 时间 | 痛点 |
|---|---|---|---|
| 手动 cd | 记路径 → 输入 → Tab 补全 | 15-30秒 | 记不住路径,层级深 |
| 文件管理器 | 打开资源管理器 → 找文件夹 → 右键终端 | 20-40秒 | 打断键盘流,效率低 |
| cdp | cdp → 输入几个字母 → 回车 |
2-5秒 | ✅ 无痛点 |
- ✅ 使用 Claude Code、Cursor 等 AI 编程工具的开发者
- ✅ 管理多个项目的全栈工程师
- ✅ 热爱命令行和键盘流的效率党
- ✅ 使用 VS Code/Cursor + Project Manager 插件的用户
- 核心功能:模糊搜索切换项目
- 终端标签标题同步
- 支持 Cursor 和 VS Code Project Manager 插件
- 安装脚本自动安装 fzf 依赖
- 快速添加/删除/列出项目命令
- 自动创建默认配置文件
- WSL/Linux 支持(bash/zsh 版本)
- PowerShell 直接启动 WSL 并切换项目
- 最近访问项目快速切换
- 项目标签和分组功能
- 项目收藏/置顶
- 切换时自动执行脚本(如启动服务)
- 支持更多项目管理工具
欢迎贡献代码!请查看 CONTRIBUTING.md 了解详情。
# Fork 仓库并克隆
git clone https://github.com/GoldenZqqq/cdp.git
cd cdp
# 修改代码
# src/cdp.psm1
# 本地测试
Import-Module ./cdp.psd1 -Force
cdp
# 提交 PR
git checkout -b feature/your-feature
git commit -m "Add: your feature"
git push origin feature/your-featureMIT License - 详见 LICENSE
- fzf - 强大的模糊搜索工具
- Project Manager - 优秀的 VS Code 项目管理扩展