This commit is contained in:
tk
2023-12-14 11:10:47 +08:00
parent 8c0dbcf1f4
commit 30d1a60a7b
50 changed files with 299 additions and 2105 deletions

View File

@@ -1,65 +1,94 @@
# ns-ext
# dot
[En](README.md) | **中**
**ns-ext** 是一个.NET扩展函数库包含以下类型扩展模块
跨平台的、具有美观字符界面的全能实用工具集 - 程序员的瑞士军刀
| 功能 | 文件名 |
| -------- | ---------------------------------- |
| 字节类型扩展 | ByteExtensions.cs |
| 字符类型扩展 | CharExtensions.cs |
| 日期类型扩展 | DateTimeExtensions.cs |
| 数据库命令类型扩展 | DbCommandExtensions.cs |
| 十进制数类型扩展 | DecimalExtensions.cs |
| 可枚举类型扩展 | EnumerableExtensions.cs |
| 枚举类型扩展 | EnumExtensions.cs |
| 泛型类型扩展 | GenericExtensions.cs |
| 整数型扩展 | IntExtensions.cs |
| Json序列化选项类型扩展 | JsonSerializerOptionsExtensions.cs |
| 日志类型扩展 | LoggerExtensions.cs |
| 长整型扩展 | LongExtensions.cs |
| 对象类型扩展 | ObjectExtensions.cs |
| 流类型扩展 | StreamExtensions.cs |
| 字符串类型扩展 | StringExtensions.cs |
| 原型类型扩展 | TypeExtensions.cs |
| 资源定位符类型扩展 | UriExtensions.cs |
### 简介
## 快速开始
dot 是一款基于.NET7跨平台的命令行工具集成10多种程序开发人员在日常工作常常用到的实用功能并且还在不断增加。
### 安装
```
USAGE:
dot [OPTIONS] <COMMAND>
OPTIONS:
-h, --help Prints help information
-v, --version Prints version information
COMMANDS:
git Git批量操作工具
color 屏幕坐标颜色选取工具
tran 翻译工具
guid GUID工具
ip IP工具
json Json工具
pwd <password length> <generate type> 随机密码生成器
rbom 移除文件的uf8 bom
trim 移除文件尾部换行和空格
text 文本编码工具
time 时间同步工具
tolf 转换换行符为LF
get <url> 多线程下载工具
```shell
dotnet add package NSExt --prerelease
```
### 示例
### 部分功能示例
```c#
using NSExt.Extensions;
- ##### Git批量管理
internal static class Program
{
private class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public static void Main(string[] args)
{
var person =
"""
{
"Name": "Jason",
"Age": "30"
}
""".Object<Person>();
当你clone了大量的git仓库 使用这条命令可以一次性拉取它们的最新代码:
Console.WriteLine(person.Json());
}
}
```
dot git -a "pull" d:\repos
```
### 输出
![20221212212417](./assets/snapshots/20221212212417.png)
```json
{"name":"Jason","age":30}
```
类似地你可以批量对一堆git仓库执行任何git命令
```
dot git -a "config --get http.proxy" d:\repos
```
![20221212213957](./assets/snapshots/20221212213957.png)
- ##### 高精度时钟同步
支持多个NTP时钟服务器并行请求同时除去网络通信时长以设置本机时钟与NTP标准时间精确同步
```
dot time -k
```
![20221212214514](./assets/snapshots/20221212214514.png)
- ##### 文本编解码
复制你需要查看各种编解码的文本在剪贴板中,然后输入如下命令,即可查看
```
dot text
```
![20221212214904](./assets/snapshots/20221212214904.png)
- ##### 多线程下载工具
支持设置分块大小线程数量用以替代单线程的wget工具
```
dot get https://github.com/nsnail/dot/releases/download/v1.1.1/dot-v1.1.1-win-x64.7z
```
![20221212215259](./assets/snapshots/20221212215259.png)
- ##### 移除文件末尾空白
移除指定目录下所有文件尾部多余的空格和换行符:
```
dot trim d:\repos
```
![20221212215853](./assets/snapshots/20221212215853.png)