Skip to content
| Marketplace
Sign in
Visual Studio Code>Snippets>PowerShell Terminal ManagerNew to Visual Studio Code? Get it now.
PowerShell Terminal Manager

PowerShell Terminal Manager

bistuwangqiyuan

|
1 install
| (0) | Free
Automatically monitor and close PowerShell terminals when commands complete or timeout
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

PowerShell Terminal Manager

一个智能的 VS Code 扩展,自动监控和关闭 PowerShell 终端,提高开发效率。

✨ 最新更新 (v0.1.2)

🔧 重要修复

  • ✅ 自动运行问题已修复: 插件启动时现在会自动开始监控 PowerShell 终端
  • ✅ 自动关闭问题已修复: 闲置的 PowerShell 终端现在会自动关闭(已测试通过)
  • ✅ 状态检测优化: 改进终端状态检测逻辑,更准确地识别空闲终端
  • ✅ 启动流程优化: 优化插件启动流程,确保监控服务正确启动

🐛 修复的问题

  • 修复插件启动后无法自动运行的问题
  • 修复闲置 PowerShell 终端无法自动关闭的问题(根本原因:关闭原因判断逻辑不完整)
  • 修复状态检测器中的模拟输出问题
  • 改进 PowerShell 和 Cursor 终端的识别逻辑
  • 修复空闲终端关闭需要用户确认的问题

🚀 功能特性

🔍 自动监控

  • 持续监控所有 PowerShell 和 Cursor 终端状态
  • 智能检测终端是否正在执行命令
  • 实时跟踪终端活动状态

🚪 自动关闭

  • 空闲自动关闭: 指令执行完毕后,等待 5 秒后自动关闭终端
  • 超时保护: 强制执行 5 分钟超时限制
  • 用户选择: 超时时用户可选择立即关闭或等待 1 分钟后强制关闭

⚙️ 智能配置

  • 可配置的超时时间(1-30 分钟)
  • 可调整的状态检查间隔(1-10 秒)
  • 白名单终端(不自动关闭的终端)
  • 灵活的日志级别设置

🛡️ 安全特性

  • 避免关闭用户正在输入的终端
  • 完善的错误处理和恢复机制
  • 紧急停止功能
  • 详细的操作日志记录

📖 使用教程

🚀 快速开始

💡 新用户推荐: 查看 快速开始指南 5 分钟快速上手!

1. 安装插件

方法一:从 VSIX 文件安装(推荐)

  1. 下载最新的 ps-terminal-manager-0.1.2.vsix 文件
  2. 在 VS Code 中按 Ctrl+Shift+P 打开命令面板
  3. 输入 "Extensions: Install from VSIX..."
  4. 选择下载的 .vsix 文件
  5. 重启 VS Code

方法二:从源码构建

git clone https://github.com/bistuwangqiyuan/ps-terminal-manager.git
cd ps-terminal-manager
npm install
npm run compile
npm run package

2. 首次使用

插件安装后会自动启动,你会看到以下通知:

✅ 自动启动成功: "PowerShell Terminal Manager auto-started successfully"

如果没有自动启动,可以:

  1. 按 Ctrl+Shift+P 打开命令面板
  2. 输入 "Start PowerShell Terminal Manager"
  3. 点击 "Start Now" 开始监控

3. 验证插件工作

  1. 打开一个新的 PowerShell 终端(`Ctrl+Shift+``)
  2. 执行一个简单命令,如 Get-Date
  3. 等待 5 秒,终端会自动关闭
  4. 你会看到通知:"Terminal 'PowerShell' is idle and will close in 5 seconds"

⚙️ 配置说明

基本配置

在 VS Code 设置中搜索 "PowerShell Terminal Manager" 或直接编辑 settings.json:

{
  "psTerminalManager.enabled": true, // 启用插件
  "psTerminalManager.timeoutMinutes": 5, // 超时时间(分钟)
  "psTerminalManager.checkIntervalSeconds": 1, // 检查间隔(秒)
  "psTerminalManager.autoStart": true, // 自动启动
  "psTerminalManager.logLevel": "INFO", // 日志级别
  "psTerminalManager.whitelistTerminals": [] // 白名单终端
}

配置选项详解

配置项 默认值 说明 推荐设置
enabled true 启用/禁用插件 true
timeoutMinutes 5 命令最大执行时间 5-10
checkIntervalSeconds 1 状态检查间隔 1-2
autoStart true 启动时自动开始监控 true
logLevel "INFO" 日志级别 "INFO"
whitelistTerminals [] 不自动关闭的终端名称 根据需要添加

高级配置示例

{
  "psTerminalManager.enabled": true,
  "psTerminalManager.timeoutMinutes": 10, // 延长超时时间
  "psTerminalManager.checkIntervalSeconds": 2, // 减少检查频率
  "psTerminalManager.autoStart": true,
  "psTerminalManager.logLevel": "WARN", // 只显示警告和错误
  "psTerminalManager.whitelistTerminals": [
    // 保护重要终端
    "Production Server",
    "Database Terminal",
    "Monitoring Console"
  ]
}

🎯 使用场景

场景 1:日常开发

使用场景: 在开发过程中频繁使用 PowerShell 执行命令 配置建议: 使用默认配置,5 分钟超时,1 秒检查间隔 效果: 命令执行完毕后自动清理终端,保持工作区整洁

操作步骤:

  1. 打开 PowerShell 终端
  2. 执行开发命令(如 npm install、git status)
  3. 等待命令完成
  4. 5 秒后终端自动关闭

场景 2:长时间运行的任务

使用场景: 需要执行长时间运行的任务(如构建、测试) 配置建议: 增加超时时间到 10-15 分钟 效果: 给长时间任务足够的执行时间

配置示例:

{
  "psTerminalManager.timeoutMinutes": 15,
  "psTerminalManager.whitelistTerminals": ["Build Terminal"]
}

场景 3:生产环境管理

使用场景: 管理生产服务器,需要保护重要终端 配置建议: 使用白名单保护关键终端 效果: 重要终端不会被自动关闭

配置示例:

{
  "psTerminalManager.timeoutMinutes": 30,
  "psTerminalManager.whitelistTerminals": [
    "Production Server 1",
    "Production Server 2",
    "Database Console"
  ]
}

📋 常用命令

插件提供以下命令,可以通过 Ctrl+Shift+P 访问:

命令 快捷键 功能 使用场景
Start PowerShell Terminal Manager - 启动监控 手动启动插件
Stop PowerShell Terminal Manager - 停止监控 临时禁用插件
Show PowerShell Terminal Manager Status - 显示状态 查看监控状态
Emergency Stop - Disable All Auto-closing - 紧急停止 快速禁用所有功能

命令使用示例

启动监控:

  1. Ctrl+Shift+P → 输入 "Start PowerShell Terminal Manager"
  2. 点击命令或按回车
  3. 看到成功通知:"PowerShell Terminal Manager started successfully"

查看状态:

  1. Ctrl+Shift+P → 输入 "Show PowerShell Terminal Manager Status"
  2. 查看监控的终端数量和状态
  3. 了解插件的运行情况

紧急停止:

  1. Ctrl+Shift+P → 输入 "Emergency Stop"
  2. 确认操作
  3. 所有自动关闭功能立即停止

🔍 监控状态

状态指示器

插件在状态栏显示当前状态:

  • 🟢 运行中: 正在监控终端
  • 🔴 已停止: 监控已停止
  • 🟡 警告: 有终端即将超时

状态信息

点击状态栏可以查看详细信息:

  • 监控的终端数量: 当前正在监控的终端
  • 已关闭的终端: 自动关闭的终端数量
  • 超时关闭的终端: 因超时而关闭的终端数量
  • 运行时间: 插件运行的总时间

📝 日志和调试

查看日志

  1. 按 Ctrl+Shift+P 打开命令面板
  2. 输入 "Developer: Show Output"
  3. 选择 "PowerShell Terminal Manager" 输出面板
  4. 查看详细的运行日志

日志级别

  • INFO: 一般信息(默认)
  • WARN: 警告信息
  • ERROR: 错误信息

常见日志信息

[INFO] Terminal Monitor started with 1000ms interval
[INFO] Found 2 existing terminals
[INFO] Started monitoring 2 existing terminals
[TERMINAL] Terminal "PowerShell" identified as PowerShell/Cursor terminal
[TERMINAL] Started monitoring terminal: PowerShell
[TERMINAL] Terminal "PowerShell" is idle, will close in 5 seconds
[TERMINAL] Terminal closed due to idle timeout

🚨 故障排除

常见问题

Q: 插件没有自动启动? A: 检查配置中的 autoStart 和 enabled 设置,确保都为 true

Q: 终端没有自动关闭? A: 确认终端名称包含 "powershell"、"cursor" 等关键词

Q: 如何手动启动监控? A: 使用命令面板执行 "Start PowerShell Terminal Manager" 命令

Q: 如何保护特定终端不被关闭? A: 在配置的 whitelistTerminals 中添加终端名称

Q: 插件占用太多资源? A: 增加 checkIntervalSeconds 值,减少检查频率

调试步骤

  1. 检查配置: 确认所有配置选项正确设置
  2. 查看日志: 在输出面板中查看详细日志
  3. 重启插件: 使用 "Stop" 和 "Start" 命令重启
  4. 检查终端: 确认终端类型和名称
  5. 重置配置: 恢复默认配置重新测试

性能优化

  • 减少检查频率: 将 checkIntervalSeconds 设置为 2-3 秒
  • 调整超时时间: 根据实际需求设置合适的超时时间
  • 使用白名单: 只监控必要的终端
  • 调整日志级别: 生产环境使用 "WARN" 或 "ERROR" 级别

🎯 最佳实践

开发环境

  • 使用默认配置,快速响应
  • 定期查看状态和日志
  • 根据需要调整超时时间

生产环境

  • 使用白名单保护重要终端
  • 设置较长的超时时间
  • 使用 "WARN" 日志级别
  • 定期监控插件状态

团队协作

  • 统一配置标准
  • 共享白名单配置
  • 建立故障排除流程
  • 定期更新插件版本

📦 安装

从 VSIX 安装

  1. 下载最新的 ps-terminal-manager-0.1.2.vsix 文件
  2. 在 VS Code 中按 Ctrl+Shift+P 打开命令面板
  3. 输入 "Extensions: Install from VSIX..."
  4. 选择下载的 .vsix 文件
  5. 重启 VS Code

从源码构建

git clone https://github.com/bistuwangqiyuan/ps-terminal-manager.git
cd ps-terminal-manager
npm install
npm run compile
npm run package

🔧 配置

在 VS Code 设置中配置以下选项:

{
  "psTerminalManager.enabled": true,
  "psTerminalManager.timeoutMinutes": 5,
  "psTerminalManager.checkIntervalSeconds": 1,
  "psTerminalManager.autoStart": true,
  "psTerminalManager.logLevel": "INFO",
  "psTerminalManager.whitelistTerminals": []
}

配置说明

  • enabled: 启用/禁用插件
  • timeoutMinutes: 命令最大执行时间(分钟)
  • checkIntervalSeconds: 状态检查间隔(秒)
  • autoStart: 启动时自动开始监控
  • logLevel: 日志级别(INFO/WARN/ERROR)
  • whitelistTerminals: 不自动关闭的终端名称列表

📋 命令

插件提供以下命令:

  • Start PowerShell Terminal Manager - 启动监控
  • Stop PowerShell Terminal Manager - 停止监控
  • Show PowerShell Terminal Manager Status - 显示状态
  • Emergency Stop - Disable All Auto-closing - 紧急停止

🧪 开发

环境要求

  • Node.js 16+
  • VS Code 1.60.0+
  • TypeScript 4.9+

开发命令

# 安装依赖
npm install

# 编译
npm run compile

# 运行测试
npm test

# 打包插件
npm run package

# 发布到市场
npm run publish

测试

# 运行所有测试
npm test

# 运行测试并显示覆盖率
npm run test:coverage

# 监听模式运行测试
npm run test:watch

📊 测试状态

  • 测试用例: 56 个
  • 通过率: 100%
  • 测试覆盖: 良好

📚 文档

  • 教程索引 - 完整教程导航和学习路径
  • 快速开始指南 - 5 分钟快速上手教程
  • 用户指南 - 详细使用教程和最佳实践
  • 部署指南 - 部署指南
  • 自动关闭逻辑说明 - 自动关闭逻辑说明
  • 发布到市场指南 - 发布指南
  • 更新日志 - 更新日志
  • v0.1.2 修复说明 - 修复说明

🐛 问题报告

如果遇到问题,请:

  1. 检查 VS Code 版本(需要 1.60.0+)
  2. 查看输出面板的日志信息
  3. 确认 PowerShell 终端类型
  4. 检查插件配置设置

📄 许可证

MIT License - 详见 LICENSE 文件

🤝 贡献

欢迎提交 Issue 和 Pull Request!


版本: v0.1.2
状态: ✅ 生产就绪,所有自动运行和自动关闭问题已修复
最后更新: 2025 年 8 月 15 日

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft