PowerShell 效率配置指南

通过自定义函数和工具链配置,大幅提升 Terminal 使用效率

概述

这是一套完整的 PowerShell 配置方案,主要包含:

  • Kubernetes 集群快速切换(k9s)
  • 开发环境一键启动
  • 智能补全系统
  • 美化主题配置

一、Kubernetes 管理函数

多集群 k9s 快速切换

# 测试环境
function k9s-test {
    k9s --kubeconfig D:\Tool\devtools\k9s\kubeconfig-test.yaml -n all
}
 
# 生产环境
function k9s-prod {
    k9s --kubeconfig D:\Tool\devtools\k9s\kubeconfig-prod.yaml -n all
}
 
# 生产付费环境
function k9s-prod-paid {
    k9s --kubeconfig D:\Tool\devtools\k9s\kubeconfig-prod-paid.yaml -n all
}

优势

  • 避免每次输入长路径
  • 防止误操作错误环境
  • 默认显示所有命名空间

二、开发环境快速启动

前端项目启动

# 支付系统前端
function k9s-web-test {
    Set-Location "D:\Work\Code\payment-project\frontend\noval-admin"
    npm run dev
}
 
# 图书系统前端
function k9s-web-book-test {
    Set-Location "D:\Work\Code\book-project\frontend\novel-admin-web"
    npm run dev
}

后端项目启动

# TTS 演示后端
function k9s-tts-demo {
    Set-Location "D:\Work\Code\book-project\backend\tts-demo\TtsDemo.App"
    dotnet run
}

Claude 快速进入项目

# 支付项目 Claude
function k9s-payment-claude {
    Set-Location "D:\Work\Code\payment-project\"
    claude
}
 
# 图书项目 Claude
function k9s-book-claude {
    Set-Location "D:\Work\Code\book-project"
    claude
}
 
# 知识库 Claude
function k9s-docs-claude {
    Set-Location "D:\Knowledge_Base\HubertBiyo"
    claude
}

三、实用工具函数

快速查看配置

# 查看请求头配置
function k9s-header {
    Set-Location "D:\Work\daily-doc\Config"
    Get-Content header.md
}
 
# 部署 Prompt Agent
function k9s-prompt {
    Set-Location "D:\Hubert\prompt-agent"
    powershell -ExecutionPolicy Bypass -File .\deploy\scripts\deploy_with_password.ps1 -Action backend
}

四、环境变量配置

# Kubernetes 配置合并
$env:KUBECONFIG = "C:\Users\yuanju\.kube\config-merged.yaml"
 
# Carapace 多 Shell 支持
$env:CARAPACE_BRIDGES = 'zsh,fish,bash,inshellisense'

说明

  • KUBECONFIG:合并多个集群配置文件
  • CARAPACE_BRIDGES:启用跨 Shell 补全支持

五、智能补全系统

Tab 补全增强

# 将 Tab 键从默认行为改为菜单式补全
Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete

效果

  • 按 Tab 显示所有候选项
  • 可用方向键选择
  • 支持模糊匹配

Carapace 补全引擎

carapace _carapace | Out-String | Invoke-Expression

功能

  • 为 kubectl、docker、git 等提供智能补全
  • 支持参数提示和文档说明
  • 跨平台统一补全体验

六、美化配置

Oh My Posh 主题

oh-my-posh init pwsh --config C:\Users\yuanju\AppData\Local\Programs\oh-my-posh\themes\cobalt2.omp.json | Invoke-Expression

主题特性(cobalt2):

  • Git 状态实时显示
  • 执行时间统计
  • 错误代码高亮
  • Kubernetes 上下文显示

七、配置文件位置

PowerShell 配置文件路径:

$PROFILE
# 通常为:C:\Users\<用户名>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1

编辑配置:

notepad $PROFILE

八、安装依赖工具

必需工具

# 安装 Oh My Posh
winget install JanDeDobbeleer.OhMyPosh -s winget
 
# 安装 Carapace
winget install rsteube.carapace
 
# 安装 k9s
winget install derailed.k9s
 
# 安装 PSReadLine(通常已内置)
Install-Module -Name PSReadLine -Force

字体推荐

安装 Nerd Font 以支持图标显示:


九、使用技巧

命名规范

所有自定义函数以 k9s- 开头:

  • 便于记忆和分组
  • 避免与系统命令冲突
  • Tab 补全时快速过滤

函数扩展

添加新的快捷函数:

function k9s-<项目名>-<操作> {
    Set-Location "<项目路径>"
    <执行命令>
}

别名技巧

为常用命令创建更短的别名:

Set-Alias -Name kt -Value k9s-test
Set-Alias -Name kp -Value k9s-prod

十、性能优化建议

  1. 延迟加载:将不常用的模块改为按需加载
  2. 缓存补全:Carapace 会自动缓存补全结果
  3. 最小化配置:避免在 Profile 中执行耗时操作

相关链接


更新日志

  • 2025-12-19:初始版本,包含 K8s、开发环境、补全系统配置