1.7K Views
April 19, 25
スライド概要
2025/04/19 Build with AI
Refactoring /w Cline Cline + MCP サーバ + IDE でリファクタリングを試みる / ゆにねこ 2025/04/19 BuildwithAI Kwansai
$whoami ゆにねこ GDG on Campus Osaka Organizer Gather, inc.
#Clineに全部賭けろ
全部は賭けられない なぜか?
Cline にリファクタは難しい
⼈間 Cline かしこさ ❌ ⭕ ⭕ たいりょく ❌ ⭕ ⭕ IDE (Jetbrains) ⭕ ⭕ 😔
!?
LLM にも IDE の機能を使わせたい
→ MCP リファクタプラグインを作った
Cline から Refactor を呼び出す Jetbrains IDE Plugin - rename_element - move_element - delete_element - rename_file - move_file - delete_file - find_usages https://github.com/Harineko0/jetbrains-plugin-mcp-refactoring
材料 Intellij Platform SDK Model Context Protocol Jetbrains のプラグイン開発テンプレート https://github.com/modelcontextprotocol/kotlin-sdk
フロー Delete fuga file MCP Server <task>...</task> <environment_details>... Cline wants to use MCP HTTP Request createSafeDelete()
レシピ 1. Use intellij-platform-plugin-template template https://github.com/JetBrains/intellij-platform-plugin-template
レシピ 2. Install modelcontextprotocol/kotlin-sdk https://github.com/modelcontextprotocol/kotlin-sdk
レシピ 3. 公式 Reference を読む https://plugins.jetbrains.com/docs/intellij/welcome.html
レシピ 4. MCP リクエストで Refactor 呼び出し
デモ
”数”を 入力にするときは注意せよ 「foo.dart の BarClass を FugaClass に名前変更したい」 Caret の位置は Integer で渡す必要がある どうする? 30 文字目
”数”を 入力にするときは注意せよ 今回はシンボルまでの文字列を入力した
そもそも いずれ IDE で公式サポートされるのでは?
まとめ > Cline と MCP はあくまで VSCode 拡張なので、自分の好みに改造できる > Call Graph を LLM に渡す? > 多言語対応?
Thank you Gemini 2.5 Pro Jetbrains Platform Plugin SDK の記事が ほとんどない → Gemini 2.5 Pro Deep Research にドキュメ ントを調べさせた 昨日の夜から Plugin を作り始めてギリギリ間に合った
Thank you!