【Unity】 HTFramework框架(六十八)StringEditor字符串复杂编辑器

更新日期:2025年11月20日。

Github 仓库:https://github.com/SaiTingHu/HTFramework

Gitee 仓库:https://gitee.com/SaiTingHu/HTFramework

索引

一、StringEditor字符串复杂编辑器

StringEditor字符串复杂编辑器用于在一个单独展开的窗口 中编辑一个字符串对象,支持一些基础的复杂编辑功能,比如Html标签语法,Markdown语法,Json语法等。

二、使用StringEditor

1.StringEditor窗口简介

StringEditor编辑窗口如下:

①.切换富文本显示模式

点击标题栏RichText可以切换为富文本显示模式:

②.快捷添加、编辑Html标签

点击标题栏Html下拉菜单可以快捷添加、编辑Html标签:

Set Bold:将当前选中文本设置为粗体

Set Italic:将当前选中文本设置为斜体

Set Hyperlink:将当前选中文本设置为超链接

Set Color:将当前选中文本设置为改变文字颜色标签

Set Size:将当前选中文本设置为缩放字体大小标签

Clear selected tags:清除当前选中文本中所有的Html富文本标签;

Clear all tags:清除整个文本中所有的Html富文本标签;

③.快捷添加、编辑Markdown标签

点击标题栏Markdown下拉菜单可以快捷添加、编辑Markdown标签:

Set Bold:将当前选中文本设置为粗体

Set Italic:将当前选中文本设置为斜体

Set Hyperlink:将当前选中文本设置为超链接

Set Strikethrough:将当前选中文本设置为删除线

Set Code Block:将当前选中文本设置为代码块

Set Code Fragment:将当前选中文本设置为代码片段

Set Embedded Image:将当前选中文本设置为嵌入图像

Add Table:添加一个表格 语法块;

Add Object:添加一个引用对象 语法块;

Add Menu:添加一个执行菜单 语法块;

Add Custom Action:添加一个自定义操作语法块;

④.编辑Json格式文本

点击标题栏Json下拉菜单可以编辑Json格式文本:

Format:将整个文本按Json字符串进行格式化。

⑤.保存编辑结果

点击下方Save按钮可保存编辑结果,可自定义保存方式,或保存到剪贴板。

2.自定义编辑任意字符串对象

可将任意字符串对象指定为使用StringEditor打开进行编辑(仅在编辑器环境下),使用如下代码即可:

csharp 复制代码
             if (GUILayout.Button("复杂编辑"))
             {
             	//第一个参数为复杂编辑窗口的宿主窗口,如果没有,可传入 SceneView 窗口等
             	//第二个参数为编辑的目标字符串,这里传入StringValue字段
             	//第三个参数为复杂编辑窗口的标题
             	//第四个参数为点击Save按钮的自定义保存回调,如果为空,将保存至剪贴板
                 StringValueEditor.OpenWindow(this, StringValue, "编辑字符串时的标题", (str) =>
                 {
                 	//将编辑的内容保存回StringValue字段
                     StringValue = str;
                 });
             }

点击复杂编辑按钮后,打开StringEditor窗口:

3.编辑剪贴板内容

也可以编辑剪贴板内容,在如下例子情况,控制台打印了一串Json文本,但看起来并不直观:

①.复制内容到剪贴板

我们选中这串Json文本,按下Ctrl + C复制文本:

②.打开复杂编辑器

然后再按下Alt + S打开StringEditor进行编辑(编辑器会自动获取剪贴板内容):

然后再点击Json → Format格式化字符串(格式化后显著提升可读性):

③.保存编辑内容到剪贴板

最后,点击Save to Clipboard按钮可将编辑后的内容保存回剪贴板,以便于在其他地方粘贴。

目前,框架中一些地方已支持使用StringEditor打开并编辑某些字符串字段。

相关推荐
爱搞虚幻的阿恺6 天前
Niagara粒子系统-超炫酷的闪电特效(加餐 纸牌螺旋上升效果)
游戏·游戏引擎
_Li.6 天前
Simulink - 6DOF (Euler Angles)
人工智能·算法·机器学习·游戏引擎·cocos2d
weixin_424294676 天前
Unity 调用Steamworks API 的 SteamUserStats.RequestCurrentStats()报错
unity·游戏引擎·steamwork
山峰哥6 天前
吃透 SQL 优化:告别慢查询,解锁数据库高性能
服务器·数据库·sql·oracle·性能优化·编辑器
HoFunGames6 天前
Unity小地图,Easy Minimap System MT-GPS插件
unity·游戏引擎
holeer7 天前
【V1.0】Typora 中的 HTML 支持|软件文档自翻译
前端·编辑器·html·typora·web·markdown·文档
硬汉嵌入式7 天前
Vim 9.2版本正式发布
编辑器·vim
wy3258643647 天前
Unity 新输入系统InputSystem(基本操作)
unity·c#·游戏引擎
WarPigs7 天前
着色器multi_compile笔记
unity·着色器
ECHO飞跃 0127 天前
Unity2019 本地推理 通义千问0.5-1.5B微调导入
人工智能·深度学习·unity·llama