【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打开并编辑某些字符串字段。

相关推荐
零基础的修炼2 小时前
CUDA知识汇总
开发语言·c++·编辑器
不吃凉粉3 小时前
Unity与AS通信
unity·游戏引擎
两水先木示15 小时前
【Unity】探索小地图迷雾散开Shader效果(基础版)
unity·游戏引擎
WarrenMondeville1 天前
AI复刻街头霸王到 Unity
unity·游戏引擎
玖玥拾1 天前
Lua 基础语法(六)xLua Lua 调用 C# 交互
开发语言·unity·c#·lua
Java后端的Ai之路1 天前
Git pull弹出vim编辑器完整排查指南
开发语言·人工智能·git·编辑器·vim
卷土重去1 天前
第 6 章 Linux 实操篇-Vi 和 Vim 编辑器
linux·编辑器·vim
xcLeigh2 天前
Unity基础:MonoBehaviour的生命周期——Awake、OnEnable、Start、Update执行顺序
unity·游戏引擎
qq_213157892 天前
其域lcc2丢失部分lod/远处显示空洞的解决方式
unity·lcc2
辻弋2012 天前
自动检测硬件生成驱动清单、实时监控FPS、120秒性能记录——30+项优化模块化开关,所有改动可精确复原
服务器·windows·游戏引擎·电脑·开源软件