#header-mark#
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