使用 Visual Studio Code 开发 .NET Core 应用
介绍
五年前,微软宣布了最终成为 .NET Core 的产品,这是 .NET 的开源和跨平台实现。此举将 C# 和 .NET 引入了 macOS 和 Linux。.NET Core 的特点之一是,除了与平台无关之外,该框架还与工具无关。但这可能会导致不同的开发体验。微软对这个问题的回答是 Visual Studio Code,这是一款受微软旗舰产品 Visual Studio 启发的文本编辑器。当您选择 Visual Studio Code 进行 .NET Core 开发时,您将在 Windows、macOS 和 Linux 上获得一致的跨平台开发人员体验。
扩展
.NET Core 开发体验由 Visual Studio Code Marketplace 提供的 C# 扩展提供支持。要获取扩展,请按Ctrl-Shift-X / Cmd-Shift-X (本指南中的所有键盘快捷键均适用于 macOS)打开扩展窗格。在搜索栏中搜索“C#”。单击“安装”以安装来自 Microsoft 的扩展。
另外,安装 C# Extensions 扩展。这会添加一些快捷方式,例如搭建新类和接口。它不再处于积极开发阶段,但仍然有用。
稍后将会引入更多扩展。
终端
Visual Studio Code 没有像 Windows 或 macOS 上的 Visual Studio 那样精美的用户界面。没有文件 -> 新建项目选项。因此,在 Visual Studio Code 中,.NET Core 开发大量使用命令行。按Ctrl-Backtick可打开和关闭终端。
要创建本指南的演示应用程序,请在终端中运行dotnet命令。
$ dotnet new console -o GuideDemoApp
这将在名为GuideDemoApp的新目录中创建一个名为GuideWebApp的新 .NET Core 控制台项目。 重新启动 Visual Studio Code 并打开GuideDemoApp项目。
$ code -r GuideDemoApp
C# 扩展工具
当 Visual Studio Code 重新启动时,它将在界面左侧打开资源管理器窗格,并以 GuideDemoApp目录为基础。Visual Studio Code 将检测到GuideDemoApp目录中的 C# .NET Core 项目并显示通知。
在 Visual Studio Code 内部进行调试是 C# 扩展的一项功能。但要启用它,必须添加一些元数据。单击通知中的“是” ,元数据将添加到.vscode目录中的项目中。片刻之后,通知将自动消失。在这种情况下,按Ctrl-Shift-P / Cmd-Shift-P打开命令面板并搜索命令.NET: Generate Assets for Build and Debug。无论哪种情况,您都可以通过按Ctrl-Shift-D / Cmd-Shift-D切换到调试窗格。窗格顶部是一个带有两个选项的下拉列表。
.NET Core 启动(控制台)选项将以调试模式启动应用程序,您稍后会看到。
編輯
首先,您需要编写一些代码来运行。此示例从创建用户管理应用程序或至少其中的一部分开始。它唯一需要的是用户类。C# Extensions 扩展为编辑器添加了许多功能。在 Explorer 窗格中单击鼠标右键,然后选择“ New Class”。在命令面板中,输入文件名DemoUser.cs。这将在适当的命名空间中搭建一个名为User 的类。该类将具有两个公共属性。您可以使用类似于 Visual Studio 的代码片段生成这些属性。键入代码片段属性并按 Tab 键。
这将生成一个自动实现的属性。请注意,类型已突出显示,因此您可以开始输入字符串来更改它。再次按 Tab 键突出显示属性的名称并将其更改为Username 。重复该过程以创建另一个名为Password的字符串类型属性。
最后,重写ToString方法来呈现该类的实例。
public override string ToString()
{
return $"<User: {Username} / {Password}>";
}
按Ctrl-P / Cmd-P并开始输入文件的名称Program.cs。Visual Studio Code 将按照您的要求筛选文件。突出显示Program.cs后,按Enter打开它。
在Main方法中,创建一个新的User并将其写入控制台。
var user = new DemoUser();
user.
与 Visual Studio 一样,Visual Studio Code 在点后显示有效完成的列表。
var user = new DemoUser();
user.Username = "jdoe";
user.Password = "abcxyz";
看起来“jdoe”没有创建强密码的习惯。为了帮助他们,向User类添加一个返回名为GeneratePassword的字符串的方法。假设强密码至少有一个大写字母,后跟至少一个由破折号分隔的数字。总长度(不包括破折号)应至少为 8 个字符。由于该方法将连接字符串,因此请使用 StringBuilder类。
public string GeneratePassword(int numChars.= 4, int numDigits = 4)
{
var password = new StringBuilder();
}
Visual Studio Code 在StringBuilder下画了一条波浪线,因为找不到它。将光标放在StringBuilder上,按Ctrl-. / Cmd-.,然后从弹出菜单中选择使用 System.Text以自动插入System.Text命名空间并解决错误。
使用 NuGet 包
为了帮助生成随机密码,您可以使用名为 Bogus 的 NuGet 包。使用另一个名为 NuGet Gallery 的扩展可以轻松添加 NuGet 包。继续安装它。
安装后,打开命令面板并搜索“NuGet:打开库”。您将看到一个类似于 Visual Studio 的界面,用于管理 NuGet 包。搜索“Bogus”。在右侧,单击GuideDemoApp.csproj旁边的“安装”链接。
回到DemoUser类,完成GeneratePassword方法。记得使用快捷方式为Randomizer类添加Bogus命名空间。
var randomizer = new Randomizer();
password.Append(randomizer.String(numChars, numChars, Convert.ToChar(65), Convert.ToChar(90)));
password.Append("-");
password.Append(randomizer.String(numDigits, numDigits, Convert.ToChar(48), Convert.ToChar(57)));
return password.ToString();
现在,您可以更新代码以在Program.cs中创建一个新的User。Person类也可以在Bogus命名空间中找到。
var bogusPerson = new Person();
user.Username = (bogusPerson.FirstName[0] + bogusPerson.LastName).ToLower();
user.Password = user.GeneratePassword();
要运行应用程序,请将以下代码添加到Main方法的末尾:
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~