返回 Skill 列表
extension
分类: 开发与工程无需 API Key

jetbrains-coding

当JetBrains MCP工具可用时(mcp__jetbrains__*)- 强制使用IDE原生工作流,在文件完成之后进行问题检查,并使用智能重构工具代替grep/sed

person作者: jakexiaohubgithub

JetBrains IDE-Native Coding

Overview

When JetBrains MCP tools are available, use them instead of Bash/grep/sed. The IDE provides smarter refactoring, real-time error detection, and code formatting that understands your project.

Trigger: MCP tools starting with mcp__jetbrains__ are available.

Mandatory Workflow

EDIT → FILE COMPLETE → CHECK PROBLEMS → FIX → (repeat until 0 problems)
  1. After completing a file: Call get_file_problems
  2. If problems found: Fix them, check again
  3. Continue until: 0 errors/warnings

Tool Preference

| Instead of... | Use JetBrains Tool | | ----------------------- | ------------------------------------------ | | grep, rg, Grep tool | search_in_files_by_text or find_usages | | find, Glob tool | find_files_by_name_keyword | | cat, Read tool | get_file_text_by_path | | sed, Edit tool | replace_text_in_file (targeted) | | tree, ls | list_directory_tree | | Manual rename + grep | rename_refactoring (updates ALL refs) | | git status | get_project_vcs_status | | git log --grep | find_commit_by_message |

When to use standard tools: Non-code files, complex shell pipelines, operations without JetBrains equivalent.

Available Tools (Quick Reference)

Code Intelligence

| Tool | Purpose | | ---------------------- | --------------------------------------------- | | find_usages | Find all usages of a symbol across project | | get_symbol_info | Get docs, type info, declaration location | | rename_refactoring | Smart rename - updates all references | | get_file_problems | IDE inspections (errors, warnings) for a file | | get_project_problems | All problems across entire project |

File Operations

| Tool | Purpose | | ----------------------- | ------------------------- | | get_file_text_by_path | Read file content | | replace_text_in_file | Targeted text replacement | | create_new_file | Create file with content | | open_file_in_editor | Open file in IDE |

Search

| Tool | Purpose | | ---------------------------- | ------------------------------------ | | search_in_files_by_text | Text search across project (indexed) | | search_in_files_by_regex | Regex search across project | | find_files_by_name_keyword | Find files by name substring | | find_files_by_glob | Find files by glob pattern |

Navigation

| Tool | Purpose | | ------------------------- | --------------------------- | | list_directory_tree | Tree view of directory | | get_all_open_file_paths | Currently open files in IDE |

Execution

| Tool | Purpose | | -------------------------- | --------------------------------- | | execute_terminal_command | Run shell command in IDE terminal | | run_configuration | Run IDE run configuration | | get_run_configurations | List available run configs |

VCS

| Tool | Purpose | | ------------------------ | --------------------- | | get_project_vcs_status | Git status via IDE | | find_commit_by_message | Search commit history | | get_repositories | List VCS roots |

Debugging

| Tool | Purpose | | ---------------------------- | --------------------- | | get_debugger_breakpoints | List all breakpoints | | toggle_debugger_breakpoint | Add/remove breakpoint |

Renaming Files

When renaming files (e.g., task.service.tsservice.ts):

  1. Check if IDE has file rename: Some JetBrains MCP versions expose file rename that updates imports automatically
  2. If not available: Use git mv for rename, then update imports with replace_text_in_file using replaceAll: true
  3. After renaming: ALWAYS run type-check to catch missed imports

Key insight: rename_refactoring is for SYMBOLS (classes, functions, variables), not files. For file renames, you need to update import paths separately.

Common Mistakes

| Mistake | Fix | | ------------------------------------------------------ | ------------------------------------------------------------------ | | Using Grep to find symbol usages | Use find_usages - understands code structure | | Manual rename + search/replace | Use rename_refactoring - updates imports, references | | Not checking for problems | Call get_file_problems after completing a file | | Ignoring IDE warnings | Fix ALL problems before moving on | | Using git mv then manually updating imports one by one | Use replace_text_in_file with replaceAll: true to batch update |

projectPath Parameter

Always pass projectPath to JetBrains tools:

projectPath: "/absolute/path/to/project"

This avoids ambiguity when multiple projects are open.