[jupyter] PY-85221 Jupyter+AI: Support work with Notebook in Claude Code

(cherry picked from commit 44f8f4b2dea555ff801f6eb3b4861a9553f7a7a5)

IJ-MR-180573

GitOrigin-RevId: 2885408b821fca41e50e01897e1a730e1305e43b
This commit is contained in:
Nikita.Ashihmin
2025-10-30 21:42:30 +00:00
committed by intellij-monorepo-bot
parent 57f5eb0619
commit 290e155b2d
@@ -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)
}
}
}