gpt4 book ai didi

intellij-idea - 如何在对话框中显示 IntelliJ JSON 编辑器?

转载 作者:行者123 更新时间:2023-12-04 17:47:09 24 4
gpt4 key购买 nike

我想在下面展示我正在为 Kotlin 和 Java 开发的插件的对话框中的编辑器。我尝试了下面的代码片段

    editorTextField.setEnabled(true);
editorTextField.setOneLineMode(false);
editorTextField.setFileType(new JsonFileType());

有人能指出如何实现这一点吗?

我特别需要行号、JSON 语法突出显示和代码折叠我可以看到所有代码规范 here .请帮助我学习如何在我的插件中使用它们。

JSON 编辑器:

最佳答案

class JsonOutputDialog(language: Language, project: Project, text: String) : DialogWrapper(project) {

private val panel = JPanel(BorderLayout())

init {
super.setOKActionEnabled(false)

init()

val editorTextField = CustomEditorField(language, project, text)
editorTextField.setOneLineMode(false)
editorTextField.preferredSize = Dimension(800, 600)

editorTextField.isVisible = true

panel.add(editorTextField)

editorTextField.setCaretPosition(0)
}

override fun createCenterPanel() = panel
}

class CustomEditorField(language: Language, project: Project, s: String) : LanguageTextField(language, project, s) {

override fun createEditor(): EditorEx {
val editor = super.createEditor()
editor.setVerticalScrollbarVisible(true)
editor.setHorizontalScrollbarVisible(true)

val settings = editor.settings
settings.isLineNumbersShown = true
settings.isAutoCodeFoldingEnabled = true
settings.isFoldingOutlineShown = true
settings.isAllowSingleLogicalLineFolding = true
settings.isRightMarginShown=true
return editor
}
}

这是你需要做的。这里的关键是使用 LanguageTextField 而不是 EditorTextField 并覆盖 createEditor() 方法来配置您正在寻找的所有选项,例如 Line数字和代码折叠。

关于intellij-idea - 如何在对话框中显示 IntelliJ JSON 编辑器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47954339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com