C# REPL 是能夠在指令視窗中直接執行 C# 程式碼的 dotnet tool,在 Github 上有 1.6K Star(統計時間: 2023-03-23)。平時在測試簡易程式碼時不需要再一直開新專案,可以直接在指令視窗中撰寫和測試 C# 程式碼,對於筆者這樣需要一直開新專案測試的人來說非常好用
優點:
- 跨平台
- 一行指令安裝完即可使用
- 具有完整的提示和補全
- 非常方便使用 NuGet 套件
- 輸入變數直接查看內容
安裝
dotnet tool install -g csharprepl
更新
dotnet tool update -g csharprepl
使用
啟動方式:
csharprepl
之後就可以在裡面開心的寫程式了
使用 NuGet 安裝套件:
#r "nuget: PackageName"
引用套件
using PackageName;
下面是筆者 csharprepl 透過 AngleSharp 套件爬取 Hacker News 網站的範例:
# csharprepl
Welcome to the C# REPL (Read Eval Print Loop)!
Type C# expressions and statements at the prompt and press Enter to evaluate them.
Type help to learn more, and type exit to quit.
#r "nuget: AngleSharp"
Package 'AngleSharp.1.0.1' was successfully installed.
using AngleSharp;
var context = BrowsingContext.New(Configuration.Default.WithDefaultLoader());
var document = await context.OpenAsync("https://news.ycombinator.com/");
var element = document.QuerySelectorAll("tr[id]");
foreach (var tr in element)
{
var title = tr.QuerySelector(".titleline")?.TextContent;
var link = tr.QuerySelector(".titleline > a[href]")?.GetAttribute("href");
Console.WriteLine($"Title: {title}, Link: {link}");
}
Title: The drama in trying to convert election PDFs to Spreadsheets (markessien.com), Link: https://markessien.com/posts/drama_of_transcription/
Title: Hindenburg Research Outs Block Inc as Fraud (hindenburgresearch.com), Link: https://hindenburgresearch.com/block/
Title: OpenAI’s policies hinder reproducible research on language models (aisnakeoil.substack.com), Link: https://aisnakeoil.substack.com/p/openais-policies-hinder-reproducible
總結
對於測試來說非常好使用,許多簡單的任務不需要開新專案,省去了日後要慢慢確認那些專案可以刪掉的功夫。 可以及時輸出也很方便,也有基本的內容提示和說明、自動補全,不會完全無法開發。不過,如果是以前這樣的功能就已經足夠,非常好用, 而現在大家都被 IDE 寵壞,有時候會沒辦法第一時間反應是要 using 哪個 namespace, 比較少用的語法也都很習慣(依賴)有 IDE 的提示,強大的自動補全,沒有辦法脫離。
所以必須要很慚愧的說,下次要測試時,我依然會開啟 Rider (JetBrains 出品的 C# IDE),而不是 csharprepl
最後附上解除安裝的指令:
dotnet tool uninstall -g csharprepl
參考資料:
Github - waf/CSharpRepl
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com