| name | jetbrains-coding |
| description | Use when JetBrains MCP tools are available (mcp__jetbrains__*) - enforces IDE-native workflow with problem checking after file completion, and smart refactoring tools instead of grep/sed |
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)
- After completing a file: Call
get_file_problems
- If problems found: Fix them, check again
- 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.ts → service.ts):
- Check if IDE has file rename: Some JetBrains MCP versions expose file rename that updates imports automatically
- If not available: Use
git mv for rename, then update imports with replace_text_in_file using replaceAll: true
- 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.