[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
This commit is contained in:
Nikita.Ashihmin
2025-11-11 18:02:09 +00:00
committed by intellij-monorepo-bot
parent d89a92d730
commit aa302277bc
@@ -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)
}
}
}