16
16
17
17
package org.jetbrains.kotlin.idea.actions
18
18
19
+ import com.intellij.ide.scratch.ScratchFileService
20
+ import com.intellij.ide.scratch.ScratchRootType
19
21
import com.intellij.openapi.actionSystem.AnAction
20
22
import com.intellij.openapi.actionSystem.AnActionEvent
21
23
import com.intellij.openapi.actionSystem.CommonDataKeys
@@ -32,6 +34,7 @@ import com.intellij.openapi.vfs.VirtualFile
32
34
import com.intellij.openapi.vfs.VirtualFileVisitor
33
35
import com.intellij.psi.PsiJavaFile
34
36
import com.intellij.psi.PsiManager
37
+ import org.jetbrains.kotlin.idea.KotlinFileType
35
38
import org.jetbrains.kotlin.idea.refactoring.toPsiFile
36
39
import org.jetbrains.kotlin.idea.j2k.IdeaJavaToKotlinServices
37
40
import org.jetbrains.kotlin.idea.j2k.J2kPostProcessor
@@ -61,11 +64,17 @@ class JavaToKotlinAction : AnAction() {
61
64
val result = ArrayList <VirtualFile >()
62
65
for ((psiFile, text) in javaFiles.zip(convertedTexts)) {
63
66
val virtualFile = psiFile.virtualFile
64
- val fileName = uniqueKotlinFileName(virtualFile)
65
67
try {
66
- virtualFile.rename(this , fileName)
67
68
virtualFile.setBinaryContent(CharsetToolkit .getUtf8Bytes(text))
68
- result.add(virtualFile)
69
+
70
+ if (ScratchRootType .getInstance().containsFile(virtualFile)) {
71
+ val mapping = ScratchFileService .getInstance().scratchesMapping
72
+ mapping.setMapping(virtualFile, KotlinFileType .INSTANCE .language)
73
+ }
74
+ else {
75
+ val fileName = uniqueKotlinFileName(virtualFile)
76
+ virtualFile.rename(this , fileName)
77
+ }
69
78
}
70
79
catch (e: IOException ) {
71
80
MessagesEx .error(psiFile.project, e.message).showLater()
0 commit comments