From aa302277bc52412fb5167e1cfd078a2ffba267cd Mon Sep 17 00:00:00 2001 From: "Nikita.Ashihmin" Date: Wed, 29 Oct 2025 19:16:13 +0400 Subject: [PATCH] [jupyter] PY-85221 Jupyter+AI: Support work with Notebook in Claude Code (cherry picked from commit 44f8f4b2dea555ff801f6eb3b4861a9553f7a7a5) IJ-MR-180573 (cherry picked from commit 2885408b821fca41e50e01897e1a730e1305e43b) IJ-CR-182132 GitOrigin-RevId: 0f12e5fc5f6c96a87698fd8037ff21fb057300c1 --- .../com/intellij/mcpserver/toolsets/general/FileToolset.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/general/FileToolset.kt b/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/general/FileToolset.kt index aa14314ae33a..8061368cd6cc 100644 --- a/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/general/FileToolset.kt +++ b/plugins/mcp-server/src/com/intellij/mcpserver/toolsets/general/FileToolset.kt @@ -21,6 +21,7 @@ import com.intellij.openapi.fileEditor.impl.FileEditorOpenOptions import com.intellij.openapi.roots.ContentIterator import com.intellij.openapi.roots.ProjectRootManager import com.intellij.openapi.vfs.* +import com.intellij.openapi.vfs.transformer.TextPresentationTransformers import com.intellij.platform.ide.progress.withBackgroundProgress import com.intellij.psi.search.FilenameIndex import com.intellij.psi.search.GlobalSearchScope @@ -264,9 +265,11 @@ class FileToolset : McpToolset { val existing = parent.findChild(path.name) if (existing != null && !overwrite) mcpFail("File already exists: $pathInProject. Specify 'overwrite=true' to overwrite it") val createdFile = parent.findOrCreateFile(path.name) + if (text != null) { + val documentText = TextPresentationTransformers.fromPersistent(text, virtualFile = createdFile) val document = FileDocumentManager.getInstance().getDocument(createdFile) ?: mcpFail("Can't get document for created file: $pathInProject") - document.setText(text) + document.setText(documentText) } } }