xw-devtool-cli 1.0.43 → 1.0.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,214 +1,217 @@
1
- # xw-devtool-cli
2
-
3
- **中文** | [English](#english)
4
-
5
- 一个基于 Node.js 的开发者命令行工具箱,旨在提供开箱即用的常用开发工具,帮助开发者快速处理日常任务。
6
-
7
- 主要功能包括:Base64 编解码、图片格式转换、图片与 Base64 互转、Mock 数据生成、时间戳/日期格式化、时间计算、URL 编解码、UUID 生成、汉字转拼音、颜色转换、变量格式转换、哈希计算、二维码生成、二维码识别、特殊符号大全、Markdown 语法工具、VS Code 代码段生成、当前目录树生成等。大部分结果可一键复制到剪贴板,极大提升开发效率。
8
-
9
- ## ✨ 功能特性
10
-
11
- - **Base64 工具**:支持字符串与 Base64 互转,支持从剪贴板、文件或手动输入读取。
12
- - **图片工具**:
13
- - **图片格式转换**:支持 PNG、JPG、WebP、ICO 格式互转,可调整压缩质量。生成 ICO 时支持自定义尺寸(逗号分隔),留空则默认生成 `256` 尺寸。输出文件名默认带时间戳,避免覆盖。
14
- - **图片 ↔ Base64**:支持图片转 Base64 字符串,以及 Base64 还原为图片文件。
15
- - **图片分割**:支持网格等分(自定义行/列数)或自定义分割线(像素/百分比),自动生成分割后的图片文件。
16
- - **图片拼接**:支持“选择目录”或“选择多张图片”两种输入方式;在对话框中可一次多选多张图片,可选**水平拼接**或**垂直拼接**,输出支持选择指定目录(对话框或手动输入),默认输出文件名带时间戳并自动复制输出路径。
17
- - **图片主色识别**:提取图片主色调(Hex/RGB/HSL/HSV),默认复制 Hex 到剪贴板,支持保存详细信息到文件。
18
- - **颜色吸取**:从图片中吸取单像素颜色或区域平均颜色,支持 px/% 坐标输入,结果显示颜色条并自动复制 Hex/Hex8。
19
- - **屏幕取色**:实时显示鼠标所在位置的颜色值(Hex/RGB)。
20
- > **操作说明**:
21
- > 1. 进入模式后,屏幕右下角会实时显示当前颜色预览和数值。
22
- > 2. 移动鼠标到目标位置,按 **Enter 键** 复制当前颜色 Hex 到剪贴板(会有成功提示)。
23
- > 3. 按 **ESC 键** 退出取色模式。
24
- > 4. 支持多显示器。
25
- - **占位图生成**:快速生成指定尺寸、颜色、文字的占位图片 (Placeholder Image)。
26
- - **全屏十字辅助线**:显示跟随鼠标的全屏红色十字线,用于屏幕对齐和定位。按 **ESC 键** 退出。
27
- - **屏幕测距**:点击屏幕上任意两点,测量其像素距离。
28
- - **屏幕文字标注**:在屏幕上点击并输入文字,进行临时标注。右键撤销,Delete 清空。
29
- - **图片压缩**:支持文件或文件夹;文件夹可批量压缩其下所有图片(可选包含子文件夹)。支持 PNG/JPG/WebP,质量 1-100;输出文件名带时间戳并复制输出目录到剪贴板。
30
- - 压缩完成后可选择自动打开输出目录(带返回上一步)。
31
- - **Mock 数据生成**:
32
- - 支持生成:英文段落 (Lorem Ipsum)、中文字符、中国居民身份证号、电子邮箱、URL、订单号、手机号、座机号。
33
- - 支持批量生成。
34
- - **时间工具**:
35
- - **时间格式化**:时间戳/日期字符串 -> `YYYY-MM-DD HH:mm:ss`。
36
- - **获取时间戳**:快速获取当前毫秒级时间戳。
37
- - **时间计算**:计算日期差值或日期偏移 (Add/Subtract)。
38
- - **开发辅助工具**:
39
- - **URL 编解码**:Encode/Decode URL。
40
- - **Unicode 编解码**:文本与 Unicode 转义序列 (\uXXXX) 互转。
41
- - **UUID**:生成 UUID v4。
42
- - **中文转拼音**:将汉字转换为不带声调的拼音。
43
- - **进制转换**:支持二进制、八进制、十进制、十六进制之间的互相转换。
44
- - **颜色转换**:Hex <-> RGB 互转,并在结果中显示颜色条预览(支持透明度棋盘背景),自动复制 Hex
45
- - **颜色预览**:输入颜色并在终端显示颜色条,便于快速视觉确认,同时自动复制 Hex 到剪贴板。
46
- - **变量格式转换**:支持 CamelCase, PascalCase, SnakeCase, KebabCase, ConstantCase 互转。
47
- - **哈希计算**:支持 MD5, SHA1, SHA256, SHA512, SM3 算法。
48
- - **二维码生成**:终端直接显示二维码,支持保存为 PNG 图片(带时间戳文件名)。
1
+ # xw-devtool-cli
2
+
3
+ **中文** | [English](#english)
4
+
5
+ 一个基于 Node.js 的开发者命令行工具箱,旨在提供开箱即用的常用开发工具,帮助开发者快速处理日常任务。
6
+
7
+ 主要功能包括:Base64 编解码、图片格式转换、图片与 Base64 互转、Mock 数据生成、时间戳/日期格式化、时间计算、控制台时钟、倒计时工具、计时工具、URL 编解码、UUID 生成、汉字转拼音、颜色转换、变量格式转换、哈希计算、二维码生成、二维码识别、特殊符号大全、Markdown 语法工具、VS Code 代码段生成、当前目录树生成等。大部分结果可一键复制到剪贴板,极大提升开发效率。
8
+
9
+ ## ✨ 功能特性
10
+
11
+ - **Base64 工具**:支持字符串与 Base64 互转,支持从剪贴板、文件或手动输入读取。
12
+ - **图片工具**:
13
+ - **图片格式转换**:支持 PNG、JPG、WebP、ICO 格式互转,可调整压缩质量。生成 ICO 时支持自定义尺寸(逗号分隔),留空则默认生成 `256` 尺寸。输出文件名默认带时间戳,避免覆盖。
14
+ - **图片 ↔ Base64**:支持图片转 Base64 字符串,以及 Base64 还原为图片文件。
15
+ - **图片分割**:支持网格等分(自定义行/列数)或自定义分割线(像素/百分比),自动生成分割后的图片文件。
16
+ - **图片拼接**:支持“选择目录”或“选择多张图片”两种输入方式;在对话框中可一次多选多张图片,可选**水平拼接**或**垂直拼接**,输出支持选择指定目录(对话框或手动输入),默认输出文件名带时间戳并自动复制输出路径。
17
+ - **图片主色识别**:提取图片主色调(Hex/RGB/HSL/HSV),默认复制 Hex 到剪贴板,支持保存详细信息到文件。
18
+ - **颜色吸取**:从图片中吸取单像素颜色或区域平均颜色,支持 px/% 坐标输入,结果显示颜色条并自动复制 Hex/Hex8。
19
+ - **屏幕取色**:实时显示鼠标所在位置的颜色值(Hex/RGB)。
20
+ > **操作说明**:
21
+ > 1. 进入模式后,屏幕右下角会实时显示当前颜色预览和数值。
22
+ > 2. 移动鼠标到目标位置,按 **Enter 键** 复制当前颜色 Hex 到剪贴板(会有成功提示)。
23
+ > 3. 按 **ESC 键** 退出取色模式。
24
+ > 4. 支持多显示器。
25
+ - **占位图生成**:快速生成指定尺寸、颜色、文字的占位图片 (Placeholder Image)。
26
+ - **全屏十字辅助线**:显示跟随鼠标的全屏红色十字线,用于屏幕对齐和定位。按 **ESC 键** 退出。
27
+ - **屏幕测距**:点击屏幕上任意两点,测量其像素距离。
28
+ - **屏幕文字标注**:在屏幕上点击并输入文字,进行临时标注。右键撤销,Delete 清空。
29
+ - **图片压缩**:支持文件或文件夹;文件夹可批量压缩其下所有图片(可选包含子文件夹)。支持 PNG/JPG/WebP,质量 1-100;输出文件名带时间戳并复制输出目录到剪贴板。
30
+ - 压缩完成后可选择自动打开输出目录(带返回上一步)。
31
+ - **Mock 数据生成**:
32
+ - 支持生成:英文段落 (Lorem Ipsum)、中文字符、中国居民身份证号、电子邮箱、URL、订单号、手机号、座机号。
33
+ - 支持批量生成。
34
+ - **时间工具**:
35
+ - **时间格式化**:时间戳/日期字符串 -> `YYYY-MM-DD HH:mm:ss`。
36
+ - **获取时间戳**:快速获取当前毫秒级时间戳。
37
+ - **时间计算**:计算日期差值或日期偏移 (Add/Subtract)。
38
+ - **控制台时钟**:在终端实时显示当前时间,按 `Enter` 或 `Q` 返回上一步。
39
+ - **倒计时工具**:先选择秒/分钟/小时,再输入数值启动倒计时;倒计时结束后继续计时并显示负号(如 `-00:00:05`)。
40
+ - **计时工具**:启动后从 `00:00:00` 开始正向计时,终端每秒刷新显示。
41
+ - **开发辅助工具**:
42
+ - **URL 编解码**:Encode/Decode URL。
43
+ - **Unicode 编解码**:文本与 Unicode 转义序列 (\uXXXX) 互转。
44
+ - **UUID**:生成 UUID v4
45
+ - **中文转拼音**:将汉字转换为不带声调的拼音。
46
+ - **进制转换**:支持二进制、八进制、十进制、十六进制之间的互相转换。
47
+ - **颜色转换**:Hex <-> RGB 互转,并在结果中显示颜色条预览(支持透明度棋盘背景),自动复制 Hex。
48
+ - **颜色预览**:输入颜色并在终端显示颜色条,便于快速视觉确认,同时自动复制 Hex 到剪贴板。
49
+ - **变量格式转换**:支持 CamelCase, PascalCase, SnakeCase, KebabCase, ConstantCase 互转。
50
+ - **哈希计算**:支持 MD5, SHA1, SHA256, SHA512, SM3 算法。
51
+ - **二维码生成**:终端直接显示二维码,支持保存为 PNG 图片(带时间戳文件名)。
49
52
  - **二维码识别**:支持选择二维码图片进行识别,识别结果自动复制到剪贴板。
50
- - **特殊符号大全**:包含常用符号、箭头、数学符号、货币、希腊字母等 170+ 个符号,支持一键复制。
51
- - **Emoji 输入**:支持分类查看和选择常用 Emoji,一键复制到剪贴板。
52
- - **HTML 实体工具**:支持 HTML 实体编码与解码 (如 `&` <-> `&amp;`)。
53
- - **Markdown 语法工具**:提供常用 Markdown 语法模板 (Headers, Lists, Tables, Code 等),一键复制。
54
- - **VS Code 代码段生成器**:将代码转换为 VS Code Snippet JSON,自动生成语法速查表注释。
55
- - **Git 助手**: 标准化生成 Git 分支名 (feature/bugfix/custom) 和 Conventional Commits 提交日志。
56
- - **当前目录树生成**:生成当前目录的文件树结构,支持指定层级,输出可选复制到剪贴板或导出为 txt 文件。
57
- - **占位图生成**:自定义尺寸、背景色、文字颜色和格式生成占位图。
58
- - **便捷操作**:
59
- - 支持文件选择对话框 (Windows)。
60
- - 结果自动复制到剪贴板。
61
- - 支持从剪贴板自动读取输入(部分工具支持直接回车读取)。
62
- - 支持将大文本结果保存为文件。
63
- - **多语言支持 (i18n)**:
64
- - 支持 **中文** 和 **English**。
65
- - 可通过菜单中的 `Settings` 切换,或使用命令行参数:`xw-devtool --zh` / `xw-devtool --en`。
66
-
67
- ## 🖥️ 系统支持说明(Windows 专属功能)
68
-
69
- - 屏幕取色(来源:屏幕)仅支持 Windows;来源为图片的取色跨平台可用
70
- - 全屏十字辅助线 仅支持 Windows
71
- - 屏幕测距(像素)仅支持 Windows
72
- - 屏幕文字标注 仅支持 Windows
73
- - 文件选择/保存对话框 仅支持 Windows;在非 Windows 平台请手动输入文件路径或使用命令行默认路径
74
-
75
- ## 📦 安装
76
-
77
- ### 全局安装 (推荐)
78
- ```bash
79
- npm install -g xw-devtool-cli
80
- ```
81
- 安装后即可在终端直接使用 `xw-devtool` 或 `xw-dev` 命令。
82
-
83
- ### 免安装运行 (npx)
84
- ```bash
85
- npx xw-devtool-cli@latest
86
- ```
87
-
88
- ## 🚀 快速开始
89
-
90
- 在终端运行:
91
- ```bash
92
- xw-devtool
93
- ```
94
-
95
- 或者指定语言启动:
96
- ```bash
97
- xw-devtool --zh # 中文启动
98
- xw-devtool --en # 英文启动 (Start in English)
99
- ```
100
-
101
- 启动后将显示交互式菜单,通过键盘输入对应的数字或字母选择功能,也支持直接输入关键字搜索(如 `json`、`图片`、`git`):
102
-
103
- ```text
104
- =================================
105
- xw-devtool-cli 菜单
106
- =================================
107
- 1. 图片 <-> Base64
108
- 2. 图片格式转换
109
- 3. 图片分割工具
110
- 4. 图片主色识别
111
- 5. 颜色吸取
112
- 6. 全屏十字辅助线
113
- 7. 屏幕测距 (像素)
114
- 8. 屏幕文字标注
115
- 9. 图片压缩
116
- a. 占位图生成器
117
- b. 二维码生成器
118
- c. URL 编码/解码
119
- d. 进制转换工具
120
- e. 字符串 编码/解码 (Base64)
121
- f. Unicode 编码/解码
122
- g. HTML 实体 编码/解码
123
- h. 变量命名格式转换
124
- i. JSON 格式化 (压缩/美化)
125
- j. 汉字转拼音
126
- k. 时间格式化 / 时间戳
127
- l. 时间计算 (差值/偏移)
128
- m. 颜色转换 (Hex <-> RGB)
129
- n. 颜色预览
130
- o. 生成 UUID
131
- p. 哈希计算 (MD5/SHA/SM3)
132
- q. Mock 文本生成
133
- r. 特殊字符 (符号)
134
- s. Emoji 选择器
135
- t. Markdown 片段
136
- u. VS Code 代码片段生成
137
- v. Git 助手 (分支/提交模板)
138
- w. 当前目录树生成
139
- x. 设置 / 语言 (Settings)
140
- 0. 退出
141
- =================================
142
- ```
143
-
144
- ## 📖 详细使用指南
145
-
146
- ### 1. 图片与 Base64 互转
147
- - 选择 `1` 进入。
148
- - **Image -> Base64**:
149
- - 选择图片文件(支持对话框选择)。
150
- - 输出 Base64 字符串(可保存为 `.txt` 文件防止控制台卡顿)。
151
- - **Base64 -> Image**:
152
- - 输入 Base64 字符串(支持从文件读取或剪贴板读取)。
153
- - 自动识别图片格式并保存为文件。
154
-
155
- ### 2. 图片格式转换
156
- - 选择 `2` 进入。
157
- - 选择源图片文件。
158
- - 选择目标格式 (PNG / JPG / WebP / ICO)。
159
- - 设置压缩参数(如 JPG 质量 1-100,PNG 压缩等级 0-9)。
160
- - 生成的新图片将保存在源文件同级目录。
161
- - 生成 ICO 时可自定义尺寸,留空默认生成 `256` 尺寸;输出文件名包含时间戳。
162
-
163
- ### 图片压缩
164
- - 选择 `imgCompress` (菜单对应数字/字母) 进入。
165
- - **支持输入**:
166
- - **文件**:单张图片压缩。
167
- - **文件夹**:批量压缩文件夹内所有图片(可选是否递归子文件夹)。
168
- - **参数设置**:
169
- - **质量**:推荐 80,也可自定义 1-100。
170
- - **文件夹结构**:批量处理时可选保留原目录结构。
171
- - **文件名后缀**:可选是否添加 `_compressed_时间戳` 后缀。如果不添加,将保持原文件名(建议输出到不同目录以防覆盖)。
172
- - **输出**:
173
- - 默认输出到源目录下的 `compressed_YYYYMMDD_HHmmss` 文件夹。
174
- - 自动复制输出目录路径。
175
- - 完成后可选直接打开输出目录。
176
-
177
- ### 当前目录树生成
178
- - 选择 `w` 进入。
179
- - 先选择层级模式:
180
- - **所有层级**:从当前目录递归到最深层。
181
- - **指定层级**:输入层级数字(`0` 表示仅根目录,`1` 表示包含第一层子项)。
182
- - 再选择输出方式:
183
- - **复制到剪贴板**:自动复制结果,便于粘贴到文档或 Issue 中。
184
- - **输出为 txt 文件**:可选择保存位置,默认文件名带时间戳,避免覆盖旧文件。
185
-
186
- ### 3. 占位图生成 (Placeholder Image)
187
- - 选择 `3` 进入。
188
- - **模式 1:本地图片文件 (Local Image File)**
189
- - 自动生成图片文件到当前目录。
190
- - 支持自定义:
191
- - **尺寸**: 宽度和高度 (px)。
192
- - **颜色**: 背景色和文字颜色(支持 Hex 或颜色名)。
193
- - **内容**: 自定义图片中间的文字(默认显示尺寸)。
194
- - **格式**: 输出 PNG, JPG, WebP, GIF。
195
- - 文件名默认包含时间戳,避免覆盖。
196
- - **模式 2:远程图片 URL (Remote Image URL)**
197
- - 自动生成云端占位图链接并复制到剪贴板。
198
- - 支持多个主流服务商:
199
- - **Picsum Photos**: 随机风景图,支持灰度、模糊效果。
200
- - **DummyImage**: 简单、经典。
201
- - **Via Placeholder**: 标准占位图。
202
- - **Placehold.jp**: 适合日文环境。
203
- - **DevTool Tech**: 高度可定制。
204
- - **FPO Img**: "For Placement Only" 风格。
205
- - 支持自定义尺寸、颜色、文字等参数(视具体服务商而定)。
206
-
207
- ### 4. 二维码生成
208
- - 选择 `4` 进入。
209
- - 输入文本或 URL(支持直接回车读取剪贴板)。
210
- - 终端直接显示二维码预览。
211
- - 可选保存为 PNG 图片,默认文件名包含时间戳。
53
+ - **特殊符号大全**:包含常用符号、箭头、数学符号、货币、希腊字母等 170+ 个符号,支持一键复制。
54
+ - **Emoji 输入**:支持分类查看和选择常用 Emoji,一键复制到剪贴板。
55
+ - **HTML 实体工具**:支持 HTML 实体编码与解码 (如 `&` <-> `&amp;`)。
56
+ - **Markdown 语法工具**:提供常用 Markdown 语法模板 (Headers, Lists, Tables, Code 等),一键复制。
57
+ - **VS Code 代码段生成器**:将代码转换为 VS Code Snippet JSON,自动生成语法速查表注释。
58
+ - **Git 助手**: 标准化生成 Git 分支名 (feature/bugfix/custom) 和 Conventional Commits 提交日志。
59
+ - **当前目录树生成**:生成当前目录的文件树结构,支持指定层级,输出可选复制到剪贴板或导出为 txt 文件。
60
+ - **占位图生成**:自定义尺寸、背景色、文字颜色和格式生成占位图。
61
+ - **便捷操作**:
62
+ - 支持文件选择对话框 (Windows)。
63
+ - 结果自动复制到剪贴板。
64
+ - 支持从剪贴板自动读取输入(部分工具支持直接回车读取)。
65
+ - 支持将大文本结果保存为文件。
66
+ - **多语言支持 (i18n)**:
67
+ - 支持 **中文** 和 **English**。
68
+ - 可通过菜单中的 `Settings` 切换,或使用命令行参数:`xw-devtool --zh` / `xw-devtool --en`。
69
+
70
+ ## 🖥️ 系统支持说明(Windows 专属功能)
71
+
72
+ - 屏幕取色(来源:屏幕)仅支持 Windows;来源为图片的取色跨平台可用
73
+ - 全屏十字辅助线 仅支持 Windows
74
+ - 屏幕测距(像素)仅支持 Windows
75
+ - 屏幕文字标注 仅支持 Windows
76
+ - 文件选择/保存对话框 仅支持 Windows;在非 Windows 平台请手动输入文件路径或使用命令行默认路径
77
+
78
+ ## 📦 安装
79
+
80
+ ### 全局安装 (推荐)
81
+ ```bash
82
+ npm install -g xw-devtool-cli
83
+ ```
84
+ 安装后即可在终端直接使用 `xw-devtool` 或 `xw-dev` 命令。
85
+
86
+ ### 免安装运行 (npx)
87
+ ```bash
88
+ npx xw-devtool-cli@latest
89
+ ```
90
+
91
+ ## 🚀 快速开始
92
+
93
+ 在终端运行:
94
+ ```bash
95
+ xw-devtool
96
+ ```
97
+
98
+ 或者指定语言启动:
99
+ ```bash
100
+ xw-devtool --zh # 中文启动
101
+ xw-devtool --en # 英文启动 (Start in English)
102
+ ```
103
+
104
+ 启动后将显示交互式菜单,通过键盘输入对应的数字或字母选择功能,也支持直接输入关键字搜索(如 `json`、`图片`、`git`):
105
+
106
+ ```text
107
+ =================================
108
+ xw-devtool-cli 菜单
109
+ =================================
110
+ 1. 图片 <-> Base64
111
+ 2. 图片格式转换
112
+ 3. 图片分割工具
113
+ 4. 图片主色识别
114
+ 5. 颜色吸取
115
+ 6. 全屏十字辅助线
116
+ 7. 屏幕测距 (像素)
117
+ 8. 屏幕文字标注
118
+ 9. 图片压缩
119
+ a. 占位图生成器
120
+ b. 二维码生成器
121
+ c. URL 编码/解码
122
+ d. 进制转换工具
123
+ e. 字符串 编码/解码 (Base64)
124
+ f. Unicode 编码/解码
125
+ g. HTML 实体 编码/解码
126
+ h. 变量命名格式转换
127
+ i. JSON 格式化 (压缩/美化)
128
+ j. 汉字转拼音
129
+ k. 时间格式化 / 时间戳
130
+ l. 时间计算 (差值/偏移)
131
+ m. 颜色转换 (Hex <-> RGB)
132
+ n. 颜色预览
133
+ o. 生成 UUID
134
+ p. 哈希计算 (MD5/SHA/SM3)
135
+ q. Mock 文本生成
136
+ r. 特殊字符 (符号)
137
+ s. Emoji 选择器
138
+ t. Markdown 片段
139
+ u. VS Code 代码片段生成
140
+ v. Git 助手 (分支/提交模板)
141
+ w. 当前目录树生成
142
+ x. 设置 / 语言 (Settings)
143
+ 0. 退出
144
+ =================================
145
+ ```
146
+
147
+ ## 📖 详细使用指南
148
+
149
+ ### 1. 图片与 Base64 互转
150
+ - 选择 `1` 进入。
151
+ - **Image -> Base64**:
152
+ - 选择图片文件(支持对话框选择)。
153
+ - 输出 Base64 字符串(可保存为 `.txt` 文件防止控制台卡顿)。
154
+ - **Base64 -> Image**:
155
+ - 输入 Base64 字符串(支持从文件读取或剪贴板读取)。
156
+ - 自动识别图片格式并保存为文件。
157
+
158
+ ### 2. 图片格式转换
159
+ - 选择 `2` 进入。
160
+ - 选择源图片文件。
161
+ - 选择目标格式 (PNG / JPG / WebP / ICO)。
162
+ - 设置压缩参数(如 JPG 质量 1-100,PNG 压缩等级 0-9)。
163
+ - 生成的新图片将保存在源文件同级目录。
164
+ - 生成 ICO 时可自定义尺寸,留空默认生成 `256` 尺寸;输出文件名包含时间戳。
165
+
166
+ ### 图片压缩
167
+ - 选择 `imgCompress` (菜单对应数字/字母) 进入。
168
+ - **支持输入**:
169
+ - **文件**:单张图片压缩。
170
+ - **文件夹**:批量压缩文件夹内所有图片(可选是否递归子文件夹)。
171
+ - **参数设置**:
172
+ - **质量**:推荐 80,也可自定义 1-100。
173
+ - **文件夹结构**:批量处理时可选保留原目录结构。
174
+ - **文件名后缀**:可选是否添加 `_compressed_时间戳` 后缀。如果不添加,将保持原文件名(建议输出到不同目录以防覆盖)。
175
+ - **输出**:
176
+ - 默认输出到源目录下的 `compressed_YYYYMMDD_HHmmss` 文件夹。
177
+ - 自动复制输出目录路径。
178
+ - 完成后可选直接打开输出目录。
179
+
180
+ ### 当前目录树生成
181
+ - 选择 `w` 进入。
182
+ - 先选择层级模式:
183
+ - **所有层级**:从当前目录递归到最深层。
184
+ - **指定层级**:输入层级数字(`0` 表示仅根目录,`1` 表示包含第一层子项)。
185
+ - 再选择输出方式:
186
+ - **复制到剪贴板**:自动复制结果,便于粘贴到文档或 Issue 中。
187
+ - **输出为 txt 文件**:可选择保存位置,默认文件名带时间戳,避免覆盖旧文件。
188
+
189
+ ### 3. 占位图生成 (Placeholder Image)
190
+ - 选择 `3` 进入。
191
+ - **模式 1:本地图片文件 (Local Image File)**
192
+ - 自动生成图片文件到当前目录。
193
+ - 支持自定义:
194
+ - **尺寸**: 宽度和高度 (px)。
195
+ - **颜色**: 背景色和文字颜色(支持 Hex 或颜色名)。
196
+ - **内容**: 自定义图片中间的文字(默认显示尺寸)。
197
+ - **格式**: 输出 PNG, JPG, WebP, GIF。
198
+ - 文件名默认包含时间戳,避免覆盖。
199
+ - **模式 2:远程图片 URL (Remote Image URL)**
200
+ - 自动生成云端占位图链接并复制到剪贴板。
201
+ - 支持多个主流服务商:
202
+ - **Picsum Photos**: 随机风景图,支持灰度、模糊效果。
203
+ - **DummyImage**: 简单、经典。
204
+ - **Via Placeholder**: 标准占位图。
205
+ - **Placehold.jp**: 适合日文环境。
206
+ - **DevTool Tech**: 高度可定制。
207
+ - **FPO Img**: "For Placement Only" 风格。
208
+ - 支持自定义尺寸、颜色、文字等参数(视具体服务商而定)。
209
+
210
+ ### 4. 二维码生成
211
+ - 选择 `4` 进入。
212
+ - 输入文本或 URL(支持直接回车读取剪贴板)。
213
+ - 终端直接显示二维码预览。
214
+ - 可选保存为 PNG 图片,默认文件名包含时间戳。
212
215
 
213
216
  ### 二维码识别
214
217
  - 选择 `qrcodeDecode`(菜单对应数字/字母)进入。
@@ -216,293 +219,313 @@ x. 设置 / 语言 (Settings)
216
219
  - **选择文件(对话框)**
217
220
  - **手动输入文件路径**
218
221
  - 自动识别二维码内容并复制到剪贴板。
219
-
220
- ### 5. URL 编解码
221
- - 选择 `5` 进入。
222
- - 选择 `Encode` (编码) 或 `Decode` (解码)。
223
- - 输入 URL 字符串,结果自动复制。
224
-
225
- ### 6. 字符串 Base64 转换
226
- - 选择 `6` 进入。
227
- - 支持三种输入源:
228
- - **Clipboard**: 直接读取剪贴板内容(适合处理长文本)。
229
- - **File**: 读取文本文件内容。
230
- - **Manual input**: 手动粘贴或输入文本。
231
- - 输出支持:直接复制、保存为文件、预览后复制。
232
-
233
- ### 7. Unicode 编码/解码
234
- - 选择 `7` 进入。
235
- - **Encode**: 将文本转换为 Unicode 转义序列。支持两种模式:
236
- - **Non-ASCII Only**: 仅编码中文、符号等非 ASCII 字符 (推荐,保留英文可读性)。
237
- - **All Characters**: 编码所有字符 (包括英文字母)。
238
- - **Decode**: 将 Unicode 转义序列还原为文本。
239
- - 结果自动复制到剪贴板。
240
-
241
- ### 8. HTML 实体编码/解码
242
- - 选择 `8` 进入。
243
- - 支持两种编码模式:
244
- - **Standard**: 仅编码特殊字符(如 `<` `>` `&` 及非 ASCII 字符)。
245
- - **Everything**: 编码所有字符(包括 ASCII 字母数字)。
246
- - 支持直接回车读取剪贴板内容。
247
- - 结果自动复制到剪贴板。
248
-
249
- ### 9. 变量格式转换
250
- - 选择 `9` 进入。
251
- - 输入变量名(支持直接回车读取剪贴板)。
252
- - 自动展示 CamelCase, PascalCase, SnakeCase, KebabCase, ConstantCase 五种格式。
253
- - 选择一种格式自动复制。
254
-
255
- ### 10. JSON 格式化
256
- - 选择 `a` 进入。
257
- - 支持两种输入来源:
258
- - **从剪贴板读取**:自动读取当前剪贴板内容。
259
- - **从本地文件读取**:支持文件对话框选择或手动输入路径。
260
- - 优先按标准 JSON 解析;若遇到常见非标准写法(如代码块包裹、单引号、未加引号的 key、尾随逗号、HTML 实体),会自动修正常见问题后再格式化。
261
- - 统一转换为 2 空格缩进的标准 JSON 格式。
262
- - 支持在各选项列表中返回上一步。
263
- - 输出支持:
264
- - **复制到剪贴板**(默认推荐)。
265
- - **保存到文件**(默认文件名带时间戳,避免覆盖旧文件)。
266
- - **注意**:为防止长文本刷屏,结果不会在终端完整打印。
267
-
268
- ### 11. 中文转拼音
269
- - 选择 `b` 进入。
270
- - 输入中文字符串(支持直接回车读取剪贴板)。
271
- - 输出对应的拼音(无声调)。
272
-
273
- ### 12. 时间格式化 (Time Format)
274
- - 选择 `c` 进入。
275
- - 支持时间戳转日期字符串,或日期字符串转时间戳。
276
- - 直接回车可获取当前时间戳。
277
-
278
- ### 13. 时间计算 (Time Calculation)
279
- - 选择 `d` 进入。
280
- - **Diff**: 计算两个日期之间的时间差 (天、小时、分、秒)。
281
- - **操作步骤**:
282
- 1. 输入 **开始日期** (支持 `YYYY-MM-DD HH:mm:ss` 等多种格式,默认为当前时间)。
283
- 2. 输入 **结束日期** (默认为当前时间)。
284
- 3. 查看时间差结果 (显示总天数、总小时数及详细的 `x天x小时x分x秒`)。
285
- - **Offset**: 计算指定偏移量后的日期。
286
- - **操作步骤**:
287
- 1. 输入 **基准日期** (默认为当前时间)。
288
- 2. 选择 **时间单位** (Days, Hours, Minutes, Seconds, etc.)。
289
- 3. 选择 **操作类型** (Add / Subtract)。
290
- 4. 输入 **数量** (Amount)。
291
- 5. 查看计算后的新日期。
292
- - 示例:计算 "当前时间 3 天后" 或 "2025-01-01 5 小时前"。
293
-
294
- ### 14. 颜色转换 (Hex <-> RGB)
295
- - 选择 `e` 进入。
296
- - 输入 Hex 颜色值 (如 #333) 或 RGB 值 (如 rgb(51,51,51))。
297
- - 自动转换并显示对应格式。
298
-
299
- ### 15. Get UUID
300
- - 选择 `f` 进入。
301
- - 自动生成一个 UUID v4 并复制到剪贴板。
302
-
303
- ### 16. 哈希计算 (Encryption)
304
- - 选择 `g` 进入。
305
- - 输入文本(支持直接回车读取剪贴板)。
306
- - 同时计算并显示 MD5, SHA1, SHA256, SHA512, SM3 哈希值。
307
-
308
- ### 17. Mock 数据生成
309
- - 选择 `h` 进入。
310
- - 提供多种数据类型:英文段落、中文字符、身份证号、邮箱、手机号等。
311
- - 支持指定生成数量。
312
-
313
- ### 18. 特殊符号大全
314
- - 选择 `i` 进入。
315
- - 网格化展示常用特殊符号。
316
- - 输入符号对应的编号即可一键复制。
317
-
318
- ### 19. Emoji 输入
319
- - 选择 `j` 进入。
320
- - 分类展示常用 Emoji (表情、手势、动物、食物等)
321
- - 输入编号选择并复制 Emoji 到剪贴板。
322
-
323
- ### 20. Markdown 语法工具 (Markdown Snippets)
324
- - 选择 `k` 进入。
325
- - 提供常用的 Markdown 语法模板,分类包括:
326
- - **Headers**: 标题 (H1-H6)。
327
- - **Emphasis**: 加粗、斜体、删除线。
328
- - **Lists**: 无序列表、有序列表、任务列表。
329
- - **Links & Images**: 链接、图片插入。
330
- - **Code**: 行内代码、代码块。
331
- - **Tables**: 表格模板。
332
- - **Others**: 引用、分割线、折叠详情等。
333
- - 选择对应语法后,模板将自动复制到剪贴板。
334
-
335
- ### 21. VS Code 代码段生成器 (VS Code Snippet Generator)
336
- - 选择 `l` 进入。
337
- - **Generate Snippet**: 将任意代码转换为 VS Code 的 `.code-snippets` JSON 格式。
338
- - 支持从 **剪贴板**、**文件** 或 **手动输入** 获取代码。
339
- - 自动转义双引号和换行符,生成 `body` 数组。
340
- - 输入 Snippet Name, Prefix (Trigger), Description。
341
- - 结果自动复制到剪贴板,可直接粘贴到 VS Code 的 Snippet 配置文件中。
342
- - **注意**:为防止长文本刷屏,结果**仅自动复制到剪贴板**,不会在终端打印。
343
- - **提示**:生成的代码段会自动包含语法速查表 (Syntax Cheatsheet) 作为注释,方便参考。
344
-
345
- ## 📄 License
346
-
347
- ISC
348
-
349
- ---
350
-
351
- ## English
352
-
353
- **English** | [中文](#xw-devtool-cli)
354
-
355
- A Node.js-based developer command-line toolbox designed to provide out-of-the-box common development tools to help developers handle daily tasks quickly.
356
-
357
- Key features include: Base64 encoding/decoding, image format conversion, image <-> Base64, Mock data generation, timestamp/date formatting, time calculation, URL encoding/decoding, UUID generation, Chinese pinyin conversion, color conversion, variable format conversion, hash calculation, QR code generation, QR code recognition, special symbols, Markdown snippets, VS Code snippet generation, current directory tree generation, etc. Most results can be copied to the clipboard in one step, greatly improving development efficiency.
358
-
359
- ### ✨ Features
360
-
361
- - **Base64 Tools**: Convert strings to/from Base64, supports reading from clipboard, file, or manual input.
362
- - **Image Tools**:
363
- - **Format Conversion**: Convert between PNG, JPG, WebP, ICO, with adjustable compression quality. For ICO, you can specify sizes (comma-separated); leave empty to generate `256` size by default. Output filenames include timestamps to avoid overwriting.
364
- - **Image ↔ Base64**: Convert images to Base64 strings and vice versa.
365
- - **Image Dominant Color**: Extract dominant color (Hex/RGB/HSL/HSV), copy Hex to clipboard by default, or save details to file.
366
- - **Image Color Picker**: Pick color from image (single pixel or average), supports px/% coordinates, shows color bar and auto-copies Hex/Hex8.
367
- - **Screen Color Picker**: Real-time color picking from screen (Hex/RGB).
368
- > **Usage**:
369
- > 1. Real-time color preview and values are shown in the bottom-right corner.
370
- > 2. Move mouse to target and press **Enter** to copy Hex color to clipboard.
371
- > 3. Press **ESC** to exit.
372
- > 4. Supports multiple monitors.
373
- - **Placeholder Image**: Quickly generate placeholder images with custom size, color, and text.
374
- - **Image Compression**: Support file or folder input; batch compress images in folder (recursive optional). Supports PNG/JPG/WebP, Quality 1-100. Output filename suffix optional.
375
- - **Full Screen Crosshair**: Show red crosshair following mouse. Press **ESC** to exit.
376
- - **Mock Data**:
377
- - Generate: Lorem Ipsum, Chinese characters, ID cards, Emails, URLs, Order IDs, Phone numbers.
378
- - Supports batch generation.
379
- - **Time Tools**:
380
- - **Formatting**: Timestamp/Date string -> `YYYY-MM-DD HH:mm:ss`.
381
- - **Timestamp**: Quickly get current millisecond timestamp.
382
- - **Calculation**: Calculate date differences or offsets (Add/Subtract).
383
- - **Dev Tools**:
384
- - **URL Encode/Decode**
385
- - **Unicode Encode/Decode**: Text <-> Unicode escape sequences (\uXXXX).
386
- - **UUID**: Generate UUID v4.
387
- - **Pinyin**: Convert Chinese characters to Pinyin (without tone).
388
- - **Color Converter**: Hex <-> RGB.
389
- - **Variable Format**: CamelCase, PascalCase, SnakeCase, KebabCase, ConstantCase.
390
- - **Hash Calculator**: MD5, SHA1, SHA256, SHA512, SM3.
391
- - **QR Code**: Display QR codes in terminal, save as PNG.
222
+
223
+ ### 5. URL 编解码
224
+ - 选择 `5` 进入。
225
+ - 选择 `Encode` (编码) 或 `Decode` (解码)。
226
+ - 输入 URL 字符串,结果自动复制。
227
+
228
+ ### 6. 字符串 Base64 转换
229
+ - 选择 `6` 进入。
230
+ - 支持三种输入源:
231
+ - **Clipboard**: 直接读取剪贴板内容(适合处理长文本)。
232
+ - **File**: 读取文本文件内容。
233
+ - **Manual input**: 手动粘贴或输入文本。
234
+ - 输出支持:直接复制、保存为文件、预览后复制。
235
+
236
+ ### 7. Unicode 编码/解码
237
+ - 选择 `7` 进入。
238
+ - **Encode**: 将文本转换为 Unicode 转义序列。支持两种模式:
239
+ - **Non-ASCII Only**: 仅编码中文、符号等非 ASCII 字符 (推荐,保留英文可读性)。
240
+ - **All Characters**: 编码所有字符 (包括英文字母)。
241
+ - **Decode**: 将 Unicode 转义序列还原为文本。
242
+ - 结果自动复制到剪贴板。
243
+
244
+ ### 8. HTML 实体编码/解码
245
+ - 选择 `8` 进入。
246
+ - 支持两种编码模式:
247
+ - **Standard**: 仅编码特殊字符(如 `<` `>` `&` 及非 ASCII 字符)。
248
+ - **Everything**: 编码所有字符(包括 ASCII 字母数字)。
249
+ - 支持直接回车读取剪贴板内容。
250
+ - 结果自动复制到剪贴板。
251
+
252
+ ### 9. 变量格式转换
253
+ - 选择 `9` 进入。
254
+ - 输入变量名(支持直接回车读取剪贴板)。
255
+ - 自动展示 CamelCase, PascalCase, SnakeCase, KebabCase, ConstantCase 五种格式。
256
+ - 选择一种格式自动复制。
257
+
258
+ ### 10. JSON 格式化
259
+ - 选择 `a` 进入。
260
+ - 支持两种输入来源:
261
+ - **从剪贴板读取**:自动读取当前剪贴板内容。
262
+ - **从本地文件读取**:支持文件对话框选择或手动输入路径。
263
+ - 优先按标准 JSON 解析;若遇到常见非标准写法(如代码块包裹、单引号、未加引号的 key、尾随逗号、HTML 实体),会自动修正常见问题后再格式化。
264
+ - 统一转换为 2 空格缩进的标准 JSON 格式。
265
+ - 支持在各选项列表中返回上一步。
266
+ - 输出支持:
267
+ - **复制到剪贴板**(默认推荐)。
268
+ - **保存到文件**(默认文件名带时间戳,避免覆盖旧文件)。
269
+ - **注意**:为防止长文本刷屏,结果不会在终端完整打印。
270
+
271
+ ### 11. 中文转拼音
272
+ - 选择 `b` 进入。
273
+ - 输入中文字符串(支持直接回车读取剪贴板)。
274
+ - 输出对应的拼音(无声调)。
275
+
276
+ ### 12. 时间格式化 (Time Format)
277
+ - 选择 `c` 进入。
278
+ - 支持时间戳转日期字符串,或日期字符串转时间戳。
279
+ - 直接回车可获取当前时间戳。
280
+
281
+ ### 13. 时间计算 (Time Calculation)
282
+ - 选择 `d` 进入。
283
+ - **Diff**: 计算两个日期之间的时间差 (天、小时、分、秒)。
284
+ - **操作步骤**:
285
+ 1. 输入 **开始日期** (支持 `YYYY-MM-DD HH:mm:ss` 等多种格式,默认为当前时间)。
286
+ 2. 输入 **结束日期** (默认为当前时间)。
287
+ 3. 查看时间差结果 (显示总天数、总小时数及详细的 `x天x小时x分x秒`)。
288
+ - **Offset**: 计算指定偏移量后的日期。
289
+ - **操作步骤**:
290
+ 1. 输入 **基准日期** (默认为当前时间)。
291
+ 2. 选择 **时间单位** (Days, Hours, Minutes, Seconds, etc.)。
292
+ 3. 选择 **操作类型** (Add / Subtract)。
293
+ 4. 输入 **数量** (Amount)。
294
+ 5. 查看计算后的新日期。
295
+ - 示例:计算 "当前时间 3 天后" 或 "2025-01-01 5 小时前"。
296
+
297
+ ### 控制台时钟
298
+ - 在菜单中选择 `控制台时钟` 进入。
299
+ - 终端会每秒刷新显示当前时间。
300
+ - 按 `Enter` 或 `Q` 返回上一步。
301
+
302
+ ### 倒计时工具
303
+ - 在菜单中选择 `倒计时工具` 进入。
304
+ - 先选择倒计时单位(秒 / 分钟 / 小时),再输入数值。
305
+ - 终端会每秒刷新倒计时。
306
+ - 倒计时结束后会继续计时并显示负号(如 `-00:00:01`、`-00:00:02`)。
307
+ - `Enter` 或 `Q` 返回上一步。
308
+
309
+ ### 计时工具
310
+ - 在菜单中选择 `计时工具` 进入。
311
+ - 启动后从 `00:00:00` 开始,终端每秒刷新已计时时间。
312
+ - `Enter` 或 `Q` 返回上一步。
313
+
314
+ ### 14. 颜色转换 (Hex <-> RGB)
315
+ - 选择 `e` 进入。
316
+ - 输入 Hex 颜色值 (如 #333) 或 RGB 值 (如 rgb(51,51,51))。
317
+ - 自动转换并显示对应格式。
318
+
319
+ ### 15. Get UUID
320
+ - 选择 `f` 进入。
321
+ - 自动生成一个 UUID v4 并复制到剪贴板。
322
+
323
+ ### 16. 哈希计算 (Encryption)
324
+ - 选择 `g` 进入。
325
+ - 输入文本(支持直接回车读取剪贴板)。
326
+ - 同时计算并显示 MD5, SHA1, SHA256, SHA512, SM3 哈希值。
327
+
328
+ ### 17. Mock 数据生成
329
+ - 选择 `h` 进入。
330
+ - 提供多种数据类型:英文段落、中文字符、身份证号、邮箱、手机号等。
331
+ - 支持指定生成数量。
332
+
333
+ ### 18. 特殊符号大全
334
+ - 选择 `i` 进入。
335
+ - 网格化展示常用特殊符号。
336
+ - 输入符号对应的编号即可一键复制。
337
+
338
+ ### 19. Emoji 输入
339
+ - 选择 `j` 进入。
340
+ - 分类展示常用 Emoji (表情、手势、动物、食物等)。
341
+ - 输入编号选择并复制 Emoji 到剪贴板。
342
+
343
+ ### 20. Markdown 语法工具 (Markdown Snippets)
344
+ - 选择 `k` 进入。
345
+ - 提供常用的 Markdown 语法模板,分类包括:
346
+ - **Headers**: 标题 (H1-H6)
347
+ - **Emphasis**: 加粗、斜体、删除线。
348
+ - **Lists**: 无序列表、有序列表、任务列表。
349
+ - **Links & Images**: 链接、图片插入。
350
+ - **Code**: 行内代码、代码块。
351
+ - **Tables**: 表格模板。
352
+ - **Others**: 引用、分割线、折叠详情等。
353
+ - 选择对应语法后,模板将自动复制到剪贴板。
354
+
355
+ ### 21. VS Code 代码段生成器 (VS Code Snippet Generator)
356
+ - 选择 `l` 进入。
357
+ - **Generate Snippet**: 将任意代码转换为 VS Code 的 `.code-snippets` JSON 格式。
358
+ - 支持从 **剪贴板**、**文件** **手动输入** 获取代码。
359
+ - 自动转义双引号和换行符,生成 `body` 数组。
360
+ - 输入 Snippet Name, Prefix (Trigger), Description。
361
+ - 结果自动复制到剪贴板,可直接粘贴到 VS Code 的 Snippet 配置文件中。
362
+ - **注意**:为防止长文本刷屏,结果**仅自动复制到剪贴板**,不会在终端打印。
363
+ - **提示**:生成的代码段会自动包含语法速查表 (Syntax Cheatsheet) 作为注释,方便参考。
364
+
365
+ ## 📄 License
366
+
367
+ ISC
368
+
369
+ ---
370
+
371
+ ## English
372
+
373
+ **English** | [中文](#xw-devtool-cli)
374
+
375
+ A Node.js-based developer command-line toolbox designed to provide out-of-the-box common development tools to help developers handle daily tasks quickly.
376
+
377
+ Key features include: Base64 encoding/decoding, image format conversion, image <-> Base64, Mock data generation, timestamp/date formatting, time calculation, console clock, countdown timer, stopwatch, URL encoding/decoding, UUID generation, Chinese pinyin conversion, color conversion, variable format conversion, hash calculation, QR code generation, QR code recognition, special symbols, Markdown snippets, VS Code snippet generation, current directory tree generation, etc. Most results can be copied to the clipboard in one step, greatly improving development efficiency.
378
+
379
+ ### Features
380
+
381
+ - **Base64 Tools**: Convert strings to/from Base64, supports reading from clipboard, file, or manual input.
382
+ - **Image Tools**:
383
+ - **Format Conversion**: Convert between PNG, JPG, WebP, ICO, with adjustable compression quality. For ICO, you can specify sizes (comma-separated); leave empty to generate `256` size by default. Output filenames include timestamps to avoid overwriting.
384
+ - **Image ↔ Base64**: Convert images to Base64 strings and vice versa.
385
+ - **Image Dominant Color**: Extract dominant color (Hex/RGB/HSL/HSV), copy Hex to clipboard by default, or save details to file.
386
+ - **Image Color Picker**: Pick color from image (single pixel or average), supports px/% coordinates, shows color bar and auto-copies Hex/Hex8.
387
+ - **Screen Color Picker**: Real-time color picking from screen (Hex/RGB).
388
+ > **Usage**:
389
+ > 1. Real-time color preview and values are shown in the bottom-right corner.
390
+ > 2. Move mouse to target and press **Enter** to copy Hex color to clipboard.
391
+ > 3. Press **ESC** to exit.
392
+ > 4. Supports multiple monitors.
393
+ - **Placeholder Image**: Quickly generate placeholder images with custom size, color, and text.
394
+ - **Image Compression**: Support file or folder input; batch compress images in folder (recursive optional). Supports PNG/JPG/WebP, Quality 1-100. Output filename suffix optional.
395
+ - **Full Screen Crosshair**: Show red crosshair following mouse. Press **ESC** to exit.
396
+ - **Mock Data**:
397
+ - Generate: Lorem Ipsum, Chinese characters, ID cards, Emails, URLs, Order IDs, Phone numbers.
398
+ - Supports batch generation.
399
+ - **Time Tools**:
400
+ - **Formatting**: Timestamp/Date string -> `YYYY-MM-DD HH:mm:ss`.
401
+ - **Timestamp**: Quickly get current millisecond timestamp.
402
+ - **Calculation**: Calculate date differences or offsets (Add/Subtract).
403
+ - **Console Clock**: Show real-time current time in terminal, press `Enter` or `Q` to go back.
404
+ - **Countdown Timer**: Select seconds/minutes/hours first, then enter the value to start; once it reaches zero, it keeps counting with a negative sign (such as `-00:00:05`).
405
+ - **Stopwatch**: Start from `00:00:00` and count up every second in terminal.
406
+ - **Dev Tools**:
407
+ - **URL Encode/Decode**
408
+ - **Unicode Encode/Decode**: Text <-> Unicode escape sequences (\uXXXX).
409
+ - **UUID**: Generate UUID v4.
410
+ - **Pinyin**: Convert Chinese characters to Pinyin (without tone).
411
+ - **Color Converter**: Hex <-> RGB.
412
+ - **Variable Format**: CamelCase, PascalCase, SnakeCase, KebabCase, ConstantCase.
413
+ - **Hash Calculator**: MD5, SHA1, SHA256, SHA512, SM3.
414
+ - **QR Code**: Display QR codes in terminal, save as PNG.
392
415
  - **QR Code Reader**: Select an image with QR code and decode content, then copy the result to clipboard automatically.
393
- - **Special Symbols**: 170+ symbols, arrows, math symbols, etc.
394
- - **Emoji Picker**: Browse and copy emojis.
395
- - **HTML Entity**: Encode/Decode HTML entities.
396
- - **Markdown Snippets**: Common Markdown templates.
397
- - **VS Code Snippets**: Generate VS Code snippet JSON from code.
398
- - **Convenience**:
399
- - File selection dialog (Windows).
400
- - Auto-copy results to clipboard.
401
- - Auto-read from clipboard.
402
- - Save large results to file.
403
- - **Internationalization (i18n)**:
404
- - Support **English** and **Chinese**.
405
- - Switch via **Settings** in the menu or use CLI flags: `xw-devtool --en` / `xw-devtool --zh`.
406
-
407
- ### 📦 Installation
408
-
409
- #### Global Installation (Recommended)
410
- ```bash
411
- npm install -g xw-devtool-cli
412
- ```
413
- After installation, use `xw-devtool` or `xw-dev` command.
414
-
415
- #### Run via npx
416
- ```bash
417
- npx xw-devtool-cli@latest
418
- ```
419
-
420
- ### 🚀 Quick Start
421
-
422
- Run in terminal:
423
- ```bash
424
- xw-devtool
425
- ```
426
-
427
- Or specify language directly:
428
- ```bash
429
- xw-devtool --en # Start in English
430
- xw-devtool --zh # Start in Chinese
431
- ```
432
-
433
- The interactive menu will appear:
434
-
435
- ```text
436
- =================================
437
- xw-devtool-cli Menu
438
- =================================
439
- 1. Image <-> Base64 2. Image Format Convert
440
- 3. Image Splitter 4. Image Dominant Color
441
- 5. Color Picker 6. Screen Crosshair
442
- 7. Pixel Distance Tool 8. Screen Mark Tool
443
- 9. Image Compression a. Placeholder Image Generator
444
- b. QR Code Generator c. URL Encode/Decode
445
- d. Number Base Converter e. String Encode/Decode (Base64)
446
- f. Unicode Encode/Decode g. HTML Entity Encode/Decode
447
- h. Variable Format Converter i. JSON Format (Minify/Prettify)
448
- j. Chinese to Pinyin k. Time Format / Timestamp
449
- l. Time Calculation (Diff/Offset) m. Color Converter (Hex <-> RGB)
450
- n. Color Preview o. Get UUID
451
- p. Hash Calculator (MD5/SHA/SM3) q. Mock Text
452
- r. Special Characters (Symbols) s. Emoji Picker
453
- t. Markdown Snippets u. VS Code Snippet Generator
454
- v. Git Helper (Branch/Commit Template) w. Settings / Language
455
- 0. Exit
456
- =================================
457
- ```
458
-
459
- You can enter a feature key directly, or type a keyword (e.g. `json`, `image`, `git`) to search features and then choose from matched results.
460
-
461
- ### 📖 Detailed Usage
462
-
463
- #### 1. Image <-> Base64
464
- - Select `1`.
465
- - **Image -> Base64**:
466
- - Select image file.
467
- - Output Base64 string (can save to `.txt`).
468
- - **Base64 -> Image**:
469
- - Input Base64 string (file or clipboard).
470
- - Auto-detect format and save as file.
471
-
472
- #### 2. Image Format Convert
473
- - Select `2`.
474
- - Select source image.
475
- - Select target format (PNG / JPG / WebP).
476
- - Set quality/compression.
477
- - Saved in the same directory.
478
-
479
- #### Image Compression
480
- - Select `imgCompress` (menu key).
481
- - **Input**: File or Folder (batch processing).
482
- - **Settings**:
483
- - Quality (1-100).
484
- - Recursive (for folders).
485
- - Preserve directory structure.
486
- - Suffix option: Add `_compressed_timestamp` or keep original filename.
487
- - **Output**:
488
- - Saved to `compressed_YYYYMMDD_HHmmss` folder.
489
- - Auto-copy output path.
490
- - Option to open output folder.
491
-
492
- #### 3. Placeholder Image Generator
493
- - Select `3`.
494
- - **Mode 1: Local Image File**
495
- - Generate file locally.
496
- - Customize: Size, Colors, Text, Format.
497
- - **Mode 2: Remote Image URL**
498
- - Generate URL and copy to clipboard.
499
- - Supports: Picsum Photos, DummyImage, Via Placeholder, Placehold.jp, DevTool Tech, FPO Img.
500
-
501
- #### 4. QR Code Generator
502
- - Select `4`.
503
- - Input text or URL.
504
- - Preview in terminal.
505
- - Option to save as PNG.
416
+ - **Special Symbols**: 170+ symbols, arrows, math symbols, etc.
417
+ - **Emoji Picker**: Browse and copy emojis.
418
+ - **HTML Entity**: Encode/Decode HTML entities.
419
+ - **Markdown Snippets**: Common Markdown templates.
420
+ - **VS Code Snippets**: Generate VS Code snippet JSON from code.
421
+ - **Convenience**:
422
+ - File selection dialog (Windows).
423
+ - Auto-copy results to clipboard.
424
+ - Auto-read from clipboard.
425
+ - Save large results to file.
426
+ - **Internationalization (i18n)**:
427
+ - Support **English** and **Chinese**.
428
+ - Switch via **Settings** in the menu or use CLI flags: `xw-devtool --en` / `xw-devtool --zh`.
429
+
430
+ ### 📦 Installation
431
+
432
+ #### Global Installation (Recommended)
433
+ ```bash
434
+ npm install -g xw-devtool-cli
435
+ ```
436
+ After installation, use `xw-devtool` or `xw-dev` command.
437
+
438
+ #### Run via npx
439
+ ```bash
440
+ npx xw-devtool-cli@latest
441
+ ```
442
+
443
+ ### 🚀 Quick Start
444
+
445
+ Run in terminal:
446
+ ```bash
447
+ xw-devtool
448
+ ```
449
+
450
+ Or specify language directly:
451
+ ```bash
452
+ xw-devtool --en # Start in English
453
+ xw-devtool --zh # Start in Chinese
454
+ ```
455
+
456
+ The interactive menu will appear:
457
+
458
+ ```text
459
+ =================================
460
+ xw-devtool-cli Menu
461
+ =================================
462
+ 1. Image <-> Base64 2. Image Format Convert
463
+ 3. Image Splitter 4. Image Dominant Color
464
+ 5. Color Picker 6. Screen Crosshair
465
+ 7. Pixel Distance Tool 8. Screen Mark Tool
466
+ 9. Image Compression a. Placeholder Image Generator
467
+ b. QR Code Generator c. URL Encode/Decode
468
+ d. Number Base Converter e. String Encode/Decode (Base64)
469
+ f. Unicode Encode/Decode g. HTML Entity Encode/Decode
470
+ h. Variable Format Converter i. JSON Format (Minify/Prettify)
471
+ j. Chinese to Pinyin k. Time Format / Timestamp
472
+ l. Time Calculation (Diff/Offset) m. Color Converter (Hex <-> RGB)
473
+ n. Color Preview o. Get UUID
474
+ p. Hash Calculator (MD5/SHA/SM3) q. Mock Text
475
+ r. Special Characters (Symbols) s. Emoji Picker
476
+ t. Markdown Snippets u. VS Code Snippet Generator
477
+ v. Git Helper (Branch/Commit Template) w. Settings / Language
478
+ 0. Exit
479
+ =================================
480
+ ```
481
+
482
+ You can enter a feature key directly, or type a keyword (e.g. `json`, `image`, `git`) to search features and then choose from matched results.
483
+
484
+ ### 📖 Detailed Usage
485
+
486
+ #### 1. Image <-> Base64
487
+ - Select `1`.
488
+ - **Image -> Base64**:
489
+ - Select image file.
490
+ - Output Base64 string (can save to `.txt`).
491
+ - **Base64 -> Image**:
492
+ - Input Base64 string (file or clipboard).
493
+ - Auto-detect format and save as file.
494
+
495
+ #### 2. Image Format Convert
496
+ - Select `2`.
497
+ - Select source image.
498
+ - Select target format (PNG / JPG / WebP).
499
+ - Set quality/compression.
500
+ - Saved in the same directory.
501
+
502
+ #### Image Compression
503
+ - Select `imgCompress` (menu key).
504
+ - **Input**: File or Folder (batch processing).
505
+ - **Settings**:
506
+ - Quality (1-100).
507
+ - Recursive (for folders).
508
+ - Preserve directory structure.
509
+ - Suffix option: Add `_compressed_timestamp` or keep original filename.
510
+ - **Output**:
511
+ - Saved to `compressed_YYYYMMDD_HHmmss` folder.
512
+ - Auto-copy output path.
513
+ - Option to open output folder.
514
+
515
+ #### 3. Placeholder Image Generator
516
+ - Select `3`.
517
+ - **Mode 1: Local Image File**
518
+ - Generate file locally.
519
+ - Customize: Size, Colors, Text, Format.
520
+ - **Mode 2: Remote Image URL**
521
+ - Generate URL and copy to clipboard.
522
+ - Supports: Picsum Photos, DummyImage, Via Placeholder, Placehold.jp, DevTool Tech, FPO Img.
523
+
524
+ #### 4. QR Code Generator
525
+ - Select `4`.
526
+ - Input text or URL.
527
+ - Preview in terminal.
528
+ - Option to save as PNG.
506
529
 
507
530
  #### QR Code Reader
508
531
  - Select `qrcodeDecode` (menu key).
@@ -510,92 +533,108 @@ You can enter a feature key directly, or type a keyword (e.g. `json`, `image`, `
510
533
  - **Select file (dialog)**
511
534
  - **Enter file path manually**
512
535
  - Decode content and copy it to clipboard automatically.
513
-
514
- #### 5. URL Encode/Decode
515
- - Select `5`.
516
- - Select `Encode` or `Decode`.
517
- - Input URL, result auto-copied.
518
-
519
- #### 6. String Base64
520
- - Select `6`.
521
- - Input sources: Clipboard, File, Manual.
522
- - Output: Copy, Save to file.
523
-
524
- #### 7. Unicode Encode/Decode
525
- - Select `7`.
526
- - **Encode**: Text to Unicode escape sequences.
527
- - **Non-ASCII Only**: Recommended.
528
- - **All Characters**.
529
- - **Decode**: Unicode to Text.
530
-
531
- #### 8. HTML Entity Encode/Decode
532
- - Select `8`.
533
- - **Standard**: Special chars only.
534
- - **Everything**: All chars.
535
-
536
- #### 9. Variable Format Converter
537
- - Select `9`.
538
- - Input variable name.
539
- - Shows CamelCase, PascalCase, SnakeCase, KebabCase, ConstantCase.
540
- - Select one to copy.
541
-
542
- #### 10. JSON Format
543
- - Select `a`.
544
- - Supports two input sources:
545
- - **Clipboard**: Read content directly from clipboard.
546
- - **Local file**: Pick by file dialog or enter file path manually.
547
- - Strictly parses standard JSON and converts to canonical JSON with 2-space indentation.
548
- - Supports going back to previous step in option lists.
549
- - **Note**: Results copied to clipboard only (to avoid flooding terminal).
550
-
551
- #### 11. Chinese to Pinyin
552
- - Select `b`.
553
- - Input Chinese string.
554
- - Output Pinyin (no tone).
555
-
556
- #### 12. Time Format
557
- - Select `c`.
558
- - Timestamp <-> Date String.
559
- - Enter to get current timestamp.
560
-
561
- #### 13. Time Calculation
562
- - Select `d`.
563
- - **Diff**: Calculate difference between two dates.
564
- - **Offset**: Calculate date after add/subtract time units.
565
-
566
- #### 14. Color Converter
567
- - Select `e`.
568
- - Hex <-> RGB.
569
-
570
- #### 15. Get UUID
571
- - Select `f`.
572
- - Generate UUID v4.
573
-
574
- #### 16. Hash Calculator
575
- - Select `g`.
576
- - Input text.
577
- - Shows MD5, SHA1, SHA256, SHA512, SM3.
578
-
579
- #### 17. Mock Data
580
- - Select `h`.
581
- - Generate Lorem Ipsum, Names, IDs, Emails, Phones, etc.
582
-
583
- #### 18. Special Symbols
584
- - Select `i`.
585
- - Grid view of symbols.
586
- - Select index to copy.
587
-
588
- #### 19. Emoji Picker
589
- - Select `j`.
590
- - Categorized emojis.
591
- - Select to copy.
592
-
593
- #### 20. Markdown Snippets
594
- - Select `k`.
595
- - Templates for Headers, Lists, Tables, Links, etc.
596
-
597
- #### 21. VS Code Snippet Generator
598
- - Select `l`.
599
- - Convert code to `.code-snippets` JSON body.
600
- - Auto-escapes quotes/newlines.
601
- - Copied to clipboard.
536
+
537
+ #### 5. URL Encode/Decode
538
+ - Select `5`.
539
+ - Select `Encode` or `Decode`.
540
+ - Input URL, result auto-copied.
541
+
542
+ #### 6. String Base64
543
+ - Select `6`.
544
+ - Input sources: Clipboard, File, Manual.
545
+ - Output: Copy, Save to file.
546
+
547
+ #### 7. Unicode Encode/Decode
548
+ - Select `7`.
549
+ - **Encode**: Text to Unicode escape sequences.
550
+ - **Non-ASCII Only**: Recommended.
551
+ - **All Characters**.
552
+ - **Decode**: Unicode to Text.
553
+
554
+ #### 8. HTML Entity Encode/Decode
555
+ - Select `8`.
556
+ - **Standard**: Special chars only.
557
+ - **Everything**: All chars.
558
+
559
+ #### 9. Variable Format Converter
560
+ - Select `9`.
561
+ - Input variable name.
562
+ - Shows CamelCase, PascalCase, SnakeCase, KebabCase, ConstantCase.
563
+ - Select one to copy.
564
+
565
+ #### 10. JSON Format
566
+ - Select `a`.
567
+ - Supports two input sources:
568
+ - **Clipboard**: Read content directly from clipboard.
569
+ - **Local file**: Pick by file dialog or enter file path manually.
570
+ - Strictly parses standard JSON and converts to canonical JSON with 2-space indentation.
571
+ - Supports going back to previous step in option lists.
572
+ - **Note**: Results copied to clipboard only (to avoid flooding terminal).
573
+
574
+ #### 11. Chinese to Pinyin
575
+ - Select `b`.
576
+ - Input Chinese string.
577
+ - Output Pinyin (no tone).
578
+
579
+ #### 12. Time Format
580
+ - Select `c`.
581
+ - Timestamp <-> Date String.
582
+ - Enter to get current timestamp.
583
+
584
+ #### 13. Time Calculation
585
+ - Select `d`.
586
+ - **Diff**: Calculate difference between two dates.
587
+ - **Offset**: Calculate date after add/subtract time units.
588
+
589
+ #### Console Clock
590
+ - Select `Console Clock` in the menu.
591
+ - Current time refreshes every second in terminal.
592
+ - Press `Enter` or `Q` to go back.
593
+
594
+ #### Countdown Timer
595
+ - Select `Countdown Timer` in the menu.
596
+ - Select unit first (Seconds / Minutes / Hours), then enter the value.
597
+ - After reaching zero, the timer continues with a negative sign (for example `-00:00:01`).
598
+ - Press `Enter` or `Q` to go back.
599
+
600
+ #### Stopwatch
601
+ - Select `Stopwatch` in the menu.
602
+ - It starts from `00:00:00` and updates every second.
603
+ - Press `Enter` or `Q` to go back.
604
+
605
+ #### 14. Color Converter
606
+ - Select `e`.
607
+ - Hex <-> RGB.
608
+
609
+ #### 15. Get UUID
610
+ - Select `f`.
611
+ - Generate UUID v4.
612
+
613
+ #### 16. Hash Calculator
614
+ - Select `g`.
615
+ - Input text.
616
+ - Shows MD5, SHA1, SHA256, SHA512, SM3.
617
+
618
+ #### 17. Mock Data
619
+ - Select `h`.
620
+ - Generate Lorem Ipsum, Names, IDs, Emails, Phones, etc.
621
+
622
+ #### 18. Special Symbols
623
+ - Select `i`.
624
+ - Grid view of symbols.
625
+ - Select index to copy.
626
+
627
+ #### 19. Emoji Picker
628
+ - Select `j`.
629
+ - Categorized emojis.
630
+ - Select to copy.
631
+
632
+ #### 20. Markdown Snippets
633
+ - Select `k`.
634
+ - Templates for Headers, Lists, Tables, Links, etc.
635
+
636
+ #### 21. VS Code Snippet Generator
637
+ - Select `l`.
638
+ - Convert code to `.code-snippets` JSON body.
639
+ - Auto-escapes quotes/newlines.
640
+ - Copied to clipboard.