mcpField
J
jetbrains-skill

jetbrains-skill

github.com/ry-run开发12104 次安装29 周前更新
代码仓库

关于 jetbrains-skill

用于通过外部客户端调用 JetBrains IDE 功能的技能,涵盖 MCP 设置、代码分析、重构、项目文件操作,以及带安全约束的运行配置。

主要功能

  1. 01为客户端配置 MCP 服务
  2. 02IDE 诊断与符号查询
  3. 03索引项目搜索
  4. 04文件编辑与格式化
  5. 05运行配置和终端命令

适用场景

  1. 01检查 IDE 诊断结果
  2. 02跨项目重命名符号
  3. 03搜索已索引的项目文件
  4. 04运行项目配置或命令

MCP 相关

JetBrains IDE 可提供 MCP 服务,外部客户端可通过自动配置或手动复制的 SSE、Stdio 配置连接。该技能介绍连接设置及通过连接调用 IDE 工具。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ry-run/run-skills --skill jetbrains-skill

安装后在 Claude Code 中输入/jetbrains-skill确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

SKILL_zh.md
agents/
openai.yaml
references/
jetbrains-skill_zh.md
jetbrains-skill.md

详细介绍

JetBrains 技能

快速开始

目标:将 JetBrains IDE 功能(索引、检查、重构、运行配置、集成终端)用作外部客户端的工具,同时确保更改可审计且安全。

备注和工具列表(精简版):skills/jetbrains-skill/references/jetbrains-skill.md。

连接和模式

客户端设置(在 IDE 中完成)
  • 设置 → 工具 → MCP 服务
  • 启用 MCP 服务
  • 对于受支持的客户端,使用“自动配置”(更新其 JSON 配置),或复制 SSE / Stdio 配置以手动设置
  • 重启外部客户端以应用更改
Brave 模式(无需确认)

IDE 可以允许运行 Shell 命令 / 运行配置而无需逐项确认(“Brave 模式”)。 这会增强自动化能力,但也会增加风险。启用或禁用此模式前,必须获得用户的明确确认。

工作流决策树

  1. 是否需要 IDE 级别的分析或重构?
  • 文件诊断:get_file_problems
  • 符号语义 / 文档:get_symbol_info
  • 在整个项目中安全重命名:rename_refactoring(优先于纯文本替换)
  • 索引搜索:search_in_files_by_text / search_in_files_by_regex
  • 查找文件:find_files_by_name_keyword(速度快,仅按名称查找)或 find_files_by_glob(路径 glob)
  1. 是否只需要对项目中的文件进行操作?
  • 读取文件文本:get_file_text_by_path
  • 创建文件:create_new_file
  • 定向替换:replace_text_in_file(自动保存)
  • 在编辑器中打开:open_file_in_editor
  • 重新格式化:reformat_file
  1. 是否需要运行某些内容?
  • 列出运行配置:get_run_configurations
  • 运行配置(等待完成):execute_run_configuration
  • 在 IDE 中运行终端命令:execute_terminal_command(可能需要确认;输出有上限)

限制(避免常见错误)

  • 已知 projectPath 时始终传入,以避免歧义。
  • 许多工具要求使用相对于项目根目录的路径,且只对项目文件进行操作。
  • 基于位置的工具使用从 1 开始的行号 / 列号。
  • 优先使用 maxLinesCount + truncateMode 控制输出;不要依赖大输出时的默认设置。
  • 终端命令和运行配置风险较高;执行任何可能具有破坏性的命令前,必须获得明确确认。Brave 模式会移除安全防护。

推荐的高价值模式

先通过检查进行调试
  1. 使用 get_file_problems 查找错误 / 警告 → 2) 使用 get_symbol_info 理解代码 → 3) 使用 rename_refactoring 进行重命名 → 4) 仅在确实需要文本更改时使用 replace_text_in_file。
使用索引搜索实现规模化

优先使用 search_in_files_by_text / search_in_files_by_regex,因为它会使用 IDE 搜索 / 索引,并通过 || 突出显示匹配项。

运行和输出控制

使用 execute_run_configuration 并设置合理的 timeout(ms)。对于终端命令,使用 execute_terminal_command,但请记住输出上限;对于海量输出,请将其重定向到文件,再通过文件工具读取。

参考资料

  • 备注和工具列表(精简版):skills/jetbrains-skill/references/jetbrains-skill.md

评论

支持 Markdown