Yayin Story Studio logo Yayin Story Studio 项目文档
回到主页 用户手册

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,额外提供了其所缺失的现代代码编辑必备的几项基本功能:

  1. 自动缩进
  2. 多行Tab的缩进和反缩进
  3. 行号

此外,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 开始支持。