直接跳到内容

CodeEditor 代码编辑器

代码编辑器组件允许嵌入基于Ace的代码编辑器。

目前仅启用了Ace功能的一小部分:

  • 多种语言的语法高亮
  • 主题
  • 通过ctrl+space的基本自动完成支持(仅使用代码的静态分析)
  • 注释
  • 只读模式

底层实现为panel.widgets.CodeEditor,参数基本一致,参考文档:https://panel.holoviz.org/reference/widgets/CodeEditor.html

基本用法

基本的代码编辑器,可以编辑和高亮显示代码:

延迟更新

默认情况下,代码编辑器会在每次按键时更新value,但可以设置on_keyup=False,使其仅在编辑器失去焦点或按下<Ctrl+Enter>/<Cmd+Enter>时更新value

语言和主题

可以更改编辑器的语言和主题:

注释和只读模式

可以为编辑器添加注释,并设置为只读模式:

通过文件名自动检测语言

如果设置了filename属性,编辑器会根据文件扩展名自动检测语言:

API

属性

属性名说明类型默认值
annotations注释列表,每个注释是一个包含'row'、'column'、'text'和'type'键的字典list []
filename文件名,如果提供,将使用文件扩展名来确定语言str ""
indent默认缩进的空格数int 4
language用于代码语法高亮的语言字符串str 'text'
on_keyup是否在每次按键时更新值或仅在失去焦点/热键时更新bool True
print_margin是否在编辑器中显示打印边距bool False
soft_tabs是否使用空格而不是制表符进行缩进bool True
theme编辑器主题str 'chrome'
readonly编辑器是否应以只读模式打开bool False
value编辑器中当前代码的状态str ""
value_input在每次按键时更新的当前代码状态str ""

Events

事件名说明类型
change当值更改时触发的事件Callable 

Controls

src/examples/panel_vuepy/widgets/CodeEditor

CodeEditor 代码编辑器已经加载完毕