簡體   English   中英

如何使用 dotnet-cli 將新的 c# 文件添加到項目中

[英]how to add a new c# file to a project using dotnet-cli

我正在學習如何將 dotnet-cli 與 VSCode 一起使用。 我已經看到了許多關於如何創建解決方案、項目、添加對項目的引用的命令......但我在文檔中的任何地方都沒有看到如何添加文件。 如果還記得的話,在 RubyOnRails 中可以從命令行添加文件。

感謝您的幫助

不是我知道的(我也在研究那個主題),但我發現了一個有用的 VS 代碼擴展,名為 jchannon 的 C# Extensions,它可以幫助您通過右鍵單擊 VS 代碼資源管理器中的文件夾並選擇來創建具有正確命名空間的類和接口創建 C# 類或 C# 接口。

如果您追求的是普通的舊 C# 類,那么是的,我不知道cli支持。 但是,VS Code 可以通過右鍵單擊文件夾並選擇添加新類(或類似的)來創建具有“正確”命名空間的類。

但是,dotnet aspnet-codegenerator 可以為 MVC 應用程序的各種元素創建樣板類。 是一個討論。

只需將文件添加到同一目錄或子目錄中,然后使用 Core CLI 構建項目,它就會被添加。 根據 Core CLI 文檔,默認情況下所有源文件都包含在構建中,而不是添加到項目文件中,盡管有可用選項來覆蓋此默認行為。

Visual Studio 有一個 UX,允許您右鍵單擊項目或項目下的文件夾並打開上下文窗口。 選擇添加會彈出一個允許您選擇文件模板的模式。 這會智能地將相應的文件添加到指定的位置,添加計算的命名空間和默認using該文件類型的典型語句。 這些項目模板由.vstemplate文件支持,並由該類型的文件補充。 例如,對於 C# 類,有一個 Class 文件夾,其中包含一個 Class.cs 文件和一個 Class.vstemplate 文件。 前者是 C# 文件的模板,后者是根據此處描述的 XML 命名空間描述模板的基於 XML 的文件。 這是一個起點。

根據教程:為dotnet new 創建項目模板

使用 .NET Core,您可以創建和部署生成項目、文件甚至資源的模板。 本教程是教您如何創建、安裝和卸載模板以用於dotnet new命令的系列教程的第二部分。 [重點補充]

這篇博文How to create your own template for dotnet new有一些示例如何添加可替換參數可選內容,這對於添加命名空間、類名、類關鍵字等很有幫助。

基於這些信息,我下一步將嘗試創建一些dotnet new文件模板。 在創建文件的基礎知識之后,我將嘗試如何使用可替換參數和可選內容使它們更智能,例如這些 VS 模板。

只需鍵入

new-item YourCSharpFileName.cs

我知道這不是你的意思,但是; 應該把這個基本答案放在這里。 此 powershell 命令不會創建模板化 csharp 類,但是; 如果您發現添加新的 csharp (或任何您想要的。這取決於您的filename.extension )比像我這樣通過 VS 或 VS Code 添加更容易。 這可能會很有幫助。 添加您的文件而不是配置其他繼承或使用事物。 它將與 vs 或 vs 代碼生成的文件相同。

另外對於 git bash 使用touch YourFileName.cs

我希望這對某人有所幫助。 如果有什么問題請評論我。

我曾經使用不再開發的插件 C# Extensions。 今天,我找到了一個名為“C# Stretch”的新類/接口功能的替代擴展: https ://marketplace.visualstudio.com/items?itemName=jacokok.csharp-stretch

它是文件資源管理器中的一個上下文菜單項,允許您輸入類名。 它生成一個 C# 文件,其中包含一個空類,其命名空間以新的文件范圍方式聲明。 嵌套命名空間格式可作為設置中的一個選項使用。

dotnet new提供了許多模板,如 mvc、webapp、classlib 等,但不提供classinterfacestruct等模板。

我搜索並發現我們可以使用命令安裝這些模板

dotnet new -i Yae.Templates::0.0.2

然后您可以在首選目錄中使用命令

dotnet new class -t <nameOfClass_without_extension_.cs>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM