TextEdit Class
class YSSCore::Editor::TextEdit这是YSS最关键的功能:代码编辑器. 详情...
| 头文件: | #include <TextEdit> |
| 自以下版本: | Visindigo 0.13.0 |
| 继承自: | YSSCore::Editor::FileEditWidget |
公开成员函数
(自 Visindigo 0.13.0 引入) | TextEdit(QWidget *parent = nullptr) |
(自 Visindigo 0.13.0 引入) virtual | ~TextEdit() |
Reimplemented Protected Functions
(自 Visindigo 0.13.0 引入) virtual bool | onOpen(const QString &path) override |
详细说明
TextEdit是Yayin Story Studio中最关键、最核心的功能,即代码编辑器。
此类相比于Qt提供的QTextEdit,额外提供了其所缺失的现代代码编辑必备的几项基本功能:
- 自动缩进
- 多行Tab的缩进和反缩进
- 行号
此外,TextEdit同样像QTextEdit一样,支持Qt的所有文本编辑功能,如撤销、重做、查找替换等。 并且支持使用QSyntaxHighlighter高亮语法。考虑到代码文件间可能存在符号关联关系,YSS扩展了 语法高亮的概念,除了最基本的着色操作仍需要使用QSyntaxHighlighter外,YSS提供了LangServer 类来处理更复杂的语法高亮需求,如代码补全、错误提示等。
要在YSS中使用最基本的语法着色,请实现自己的LangServer类,并将其中的createHighlighter() 方法返回一个QSyntaxHighlighter实例。之后再将您的LangServer类注册到LangServerManager中。
Note: 一般来说,TextEdit不会单独使用。若需要使用此类,我们强烈建议将其作为您的组件的一部分, 而不是继承并扩展此类。
成员函数文档
[since Visindigo 0.13.0] TextEdit::TextEdit(QWidget *parent = nullptr)
TextEdit的构造函数。
这个 function 从 Visindigo 0.13.0 开始支持。
[virtual noexcept, since Visindigo 0.13.0] TextEdit::~TextEdit()
TextEdit的析构函数。
这个 function 从 Visindigo 0.13.0 开始支持。
[override virtual protected, since Visindigo 0.13.0] bool TextEdit::onOpen(const QString &path)
Reimplements: FileEditWidget::onOpen(const QString &path).
打开一个文件。只有文件完全打开成功才会返回true,其他任何失败情况均返回false。 这是对基类纯虚函数的实现,不应直接调用此函数。请使用openFile()函数。
这个 function 从 Visindigo 0.13.0 开始支持。