ReadLine 2.0.1
dotnet add package ReadLine --version 2.0.1
NuGet\Install-Package ReadLine -Version 2.0.1
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块的 Install-Package 版本。
<PackageReference Include="ReadLine" Version="2.0.1" />
对于支持 PackageReference 的项目,请将此 XML 节点复制到项目文件中以引用包。
paket add ReadLine --version 2.0.1
NuGet 团队不为此客户端提供服务。请联系其 维护者 以获取支持。
#r "nuget: ReadLine, 2.0.1"
#r 指令可以在 F# Interactive 和 Polyglot Notebooks 中使用。将其复制到交互工具或脚本源代码中以引用包。
// Install ReadLine as a Cake Addin #addin nuget:?package=ReadLine&version=2.0.1 // Install ReadLine as a Cake Tool #tool nuget:?package=ReadLine&version=2.0.1
NuGet 团队不为此客户端提供服务。请联系其 维护者 以获取支持。
ReadLine
ReadLine 是一个使用纯 C# 编写的类似于 GNU Readline 的库。它可以作为内置 Console.ReadLine()
的替代品,并带来了来自 UNIX shell 的一些终端优点,如命令历史记录导航和自动完成。
它是跨平台的,在 .NET 支持的任何地方运行,针对 netstandard1.3
的目标意味着它可以与 .NET Core 以及完整的 .NET Framework 一起使用。
快捷方式指南
快捷键 | 注释 |
---|---|
Ctrl +A / HOME |
行首 |
Ctrl +B / ← |
向前一个字符 |
Ctrl +C |
发送 EOF |
Ctrl +E / END |
行尾 |
Ctrl +F / → |
向后一个字符 |
Ctrl +H / Backspace |
删除前一个字符 |
Tab |
命令行完成 |
Shift +Tab |
向后命令行完成 |
Ctrl +J / Enter |
换行 |
Ctrl +K |
剪切文本到行尾 |
Ctrl +L / Esc |
清除行 |
Ctrl +M |
与 Enter 键相同 |
Ctrl +N / ↓ |
历史记录中的下一个 |
Ctrl +P / ↑ |
历史记录中的上一个 |
Ctrl +U |
剪切文本到行首 |
Ctrl +W |
剪切前一个单词 |
退格键 |
删除前一个字符 |
Ctrl + D / Delete |
删除后续字符 |
安装
在 NuGet 上可用
Visual Studio
PM> Install-Package ReadLine
.NET Core 命令行工具
dotnet add package ReadLine
用法
从控制台读取输入
string input = ReadLine.Read("(prompt)> ");
从控制台读取密码
string password = ReadLine.ReadPassword("(prompt)> ");
注意:(prompt>) 是可选的
历史记录管理
// Get command history
ReadLine.GetHistory();
// Add command to history
ReadLine.AddHistory("dotnet run");
// Clear history
ReadLine.ClearHistory();
// Disable history
ReadLine.HistoryEnabled = false;
注意:历史信息在整个应用程序会话中保持持久。此外,对 ReadLine.Read()
的调用会自动将控制台输入添加到历史记录中
自动完成
class AutoCompletionHandler : IAutoCompleteHandler
{
// characters to start completion from
public char[] Separators { get; set; } = new char[] { ' ', '.', '/' };
// text - The current text entered in the console
// index - The index of the terminal cursor within {text}
public string[] GetSuggestions(string text, int index)
{
if (text.StartsWith("git "))
return new string[] { "init", "clone", "pull", "push" };
else
return null;
}
}
ReadLine.AutoCompletionHandler = new AutoCompletionHandler();
注意:如果没有设置 "AutoCompletionHandler",则禁用TAB自动完成
贡献
我们非常欢迎贡献。如果您发现了一个错误或有一个功能请求,请在此存储库问题部分报告它们。
您可以帮忙的事情
- 实现与 GNU Readline 相等的命令兼容性。
- 添加更多的测试用例。
许可
本项目遵守 MIT 许可协议。有关更多信息,请参阅 LICENSE 文件。
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。 |
.NET 标准库 | netstandard2.0 兼容。 netstandard2.1 已计算。 |
.NET Framework | net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。 |
MonoAndroid | monoandroid 已计算。 |
MonoMac | monomac 已计算。 |
MonoTouch | monotouch 已计算。 |
Tizen | tizen40 已计算。 tizen60 已计算。 |
Xamarin.iOS | xamarinios 已计算。 |
Xamarin.Mac | xamarinmac 已计算。 |
Xamarin.TVOS | xamarintvos 已计算。 |
Xamarin.WatchOS | xamarinwatchos 已计算。 |
-
.NETStandard 2.0
- 无依赖项。
NuGet 包 (11)
显示依赖于 ReadLine 的前 5 个 NuGet 包
包 | 下载 |
---|---|
Dotnet.Script.Core
一个跨平台库,允许您运行支持调试和内联 NuGet 包的 C# (CSX) 脚本。基于 Roslyn。 |
|
OpenMod.Core OpenMod 核心服务实现 |
|
StoneFruit
CLI 命令行宿主和执行引擎 |
|
Froda.Console
Froda 控制台 |
|
MineNET
MinecraftBE 服务器 |
GitHub 代码仓库 (7)
展示依赖 ReadLine 的前 5 个最受欢迎的 GitHub 代码仓库
代码仓库 | 星标 |
---|---|
dotnet-script/dotnet-script
从 .NET 命令行运行 C# 脚本。
|
|
KSP-CKAN/CKAN
全面 Kerbal 归档网络
|
|
microsoft/kernel-memory
RAG 架构:使用大型语言模型和自然语言索引和查询任何数据,跟踪来源,显示引用,异步内存模式。
|
|
NethermindEth/nethermind
为以太坊节点运营商提供强大的执行客户端。
|
|
DigitalRuby/ExchangeSharp
ExchangeSharp 是一个强大、快速且易于使用的 .NET/C# API,用于与许多加密货币交易所接口。支持 REST 和 WebSocket。
|