
一个强大的VSCode扩展,帮助Java开发者快速生成Arthas调试命令。通过右键点击Java方法,即可自动生成对应的Arthas命令并复制到剪贴板。
🚀 功能特性
支持的Arthas命令
命令 |
功能描述 |
使用场景 |
Watch |
监控方法的参数、返回值和异常 |
实时观察方法执行情况 |
Trace |
追踪方法调用路径和性能 |
分析方法调用链路和耗时 |
Stack |
查看方法调用栈 |
了解方法被调用的完整路径 |
Monitor |
监控方法执行统计 |
统计方法调用次数、成功率、平均RT等 |
TimeTunnel |
记录方法调用数据 |
记录和重放方法调用 |
OGNL Static |
执行静态方法 |
调用类的静态方法 |
OGNL Bean |
获取Spring Bean |
获取Spring容器中的Bean |
核心特性
- ✅ 智能方法识别: 自动解析Java文件中的包名、类名和方法名
- ✅ 一键生成: 右键菜单快速生成Arthas命令
- ✅ 自动复制: 生成的命令自动复制到剪贴板
- ✅ 中文界面: 完整的中文用户界面
- ✅ 仅Java文件: 只在Java文件中显示菜单,避免干扰
📖 使用方法
基本使用步骤
- 在VSCode中打开Java文件
- 将光标放在目标方法上(方法定义行或方法内部)
- 右键点击,选择 "Arthas 命令"
- 选择需要的命令类型
- 命令自动生成并复制到剪贴板
使用示例
假设有以下Java代码:
package com.example.service;
public class UserService {
public User getUserById(Long id) {
// 方法实现
return userRepository.findById(id);
}
public static String getSystemInfo() {
return "System Info";
}
}
Watch命令示例
在 getUserById
方法上右键选择 "Watch 方法监控",生成:
watch com.example.service.UserService getUserById '{params,returnObj,throwExp}' -n 5 -x 3
Trace命令示例
在 getUserById
方法上右键选择 "Trace 方法追踪",生成:
trace com.example.service.UserService getUserById -n 1
OGNL Static命令示例
在 getSystemInfo
静态方法上右键选择 "OGNL 静态方法",生成:
ognl '@com.example.service.UserService@getSystemInfo()'
🛠 安装要求
- VSCode版本: 1.96.0 或更高版本
- Java项目: 扩展仅在Java文件中激活
- Arthas环境: 需要在目标应用中运行Arthas
📋 系统要求
- 操作系统: Windows / macOS / Linux
- Java 开发环境
- VSCode 1.96.0+
🔧 配置说明
本扩展无需额外配置,安装后即可使用。扩展会:
- 自动在Java文件中激活
- 在右键菜单中添加"Arthas 命令"子菜单
- 生成的命令自动复制到剪贴板
🚨 已知限制
- 方法识别: 目前仅支持基本的方法识别,暂不支持:
- 匿名类和Lambda表达式
- 方法重载的精确识别
- 泛型方法的完整解析
- 代码解析: 基于正则表达式的简单解析,可能在复杂代码结构中失效
🤝 参与贡献
欢迎提交Issue和Pull Request!
开发环境设置
# 克隆项目
git clone https://github.com/yourusername/vscode-arthas.git
# 安装依赖
cd arthasTool
npm install
# 开发模式
npm run watch
# 构建
npm run compile
# 打包
npm run package
📚 相关资源
📄 许可证
MIT License - 详见 LICENSE 文件
🎯 更新计划
- [ ] 增强方法识别能力
- [ ] 支持方法重载
- [ ] 添加自定义命令模板
- [ ] 支持更多Arthas命令
- [ ] 添加命令历史记录
如果这个扩展对您有帮助,请给个⭐️支持一下!