摘要:目前公认的跨平台开发语言是Python和Java,也是两大跨平台阵营。不过Python和Java各有利弊。Python性能差一点,而Java对企业来说还是收费的(被Oracle搞的),不过现在还有另外一种选择,这就是微软的.NET5,使用的编程语言是C#。同时兼具跨平台和免费的特性,想试一试吗?更酷的体验!
微软的.NET 5正式版发布了,她的前身是dotnet core,这是微软推出的一个跨平台开发库,与JDK类似。只是使用的编程语言是C#。所以现在想开发跨平台应用,除了使用Java、Python等编程语言外,还可以使用.NET5和C#。
如果在Windows下,可以直接使用Visual Studio 2019或更高版本开发.NET5应用,在macOS也可以选择macOS版的Visual Studio 2019,尽管功能弱一些。不过在Linux下,就没有更好的集成开发工具了。但可以使用跨平台开发工具Visual Studio Code来开发.NET5和C#应用,尽管需要进行一些配置。本文将介绍如何在macOS下通过VSCode开发C#应用。
操作步骤如下:
1. 下载并安装VSCode应用,这个非常简单,这里不再详细介绍;
2. 进入.net 5首页,下载并安装安装.NET 5。进入该页面,会看到如图1所示的内容,选择对应的OS平台,下载和安装即可;
图1
3. 运行VSCode,点击左上角按钮,会显示如图2所示的资源管理器,中间有一个“打开文件夹”按钮;
图2
4. 创建一个用于保存工程的空目录,如FirstCSharp;
5. 点击图2中“打开文件夹”按钮,打开FirstCSharp目录。打开后的效果如图3所示;
图3
6. VSCode默认是不支持C#和.NET5的,所以需要安装插件。点击VSCode左侧最后一个按钮,进入“扩展 商店”页面,在搜索框中输入“C#”,会显示C#扩展,点击该扩展,会看到如图4所示的扩展详情页。这是已经安装完的C#扩展,如果读者还没有安装该扩展,可以点击“安装”按钮进行安装;
图4
7. 点击“终端” > "新终端"菜单项(如图5所示),或同时按control(^) + shift + `(esc下方的按键),打开终端;
图5
打开终端后的效果如图6所示。终端直接定位到了前面创建的FirstCSharp目录。
图6
8. 在终端输入下面的命令,创建一个名为MyCSharp的工程;
dotnet new console --name MyCSharp
如果执行的结果如图7所示,那么说明已经成功创建了MyCSharp工程。
图7
现在进入FirstCSharp目录,会看到如图8所示的目录结构。
图8
很显然,dotnet命令(类似于JDK的java和javac命令)为我们创建了完整的.NET 5工程。如果VSCode还没有看到MyCSharp目录,可以重启VSCode,这样就会显示如图9所示的目录结构。
图9
9. 现在点击VSCode左侧第4个按钮,切换到“运行”页面,如图10所示。
图10
点击“运行和调试”按钮,会显示如图11所示的列表,点击“.NET Core”,会自动创建launch.json文件。
图11
创建后的launch.json文件如图12所示。
图12
10. 我们可以查看自动生成的Program.cs文件,代码如下:
using System;
namespace MyCSharp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
很明显,这段代码会在终端输出一行Hello World字符串。现在再次点击VSCode左侧第4个按钮,切换到“运行”页面,然后点击上方的绿色按钮,如图13所示。
图13
运行后,经过一段时间的编译后,会在终端输出Hello World,如图14所示。
图14
到现在为止,已经完整地配置了.NET5的运行环境,可以愉快滴玩C#了。
VSCode不仅仅能开发C#应用,还可以通过断点调试C#代码,只需要用鼠标点击要调试代码行的其实为止,就会添加一个红点,然后运行程序,程序就会在这个红点为止停住,并在代码上方显示一个工具栏,用于step into和step over。如图15所示。
图15
可能有很多同学不太习惯用命令行创建.NET5工程,这里推荐一个插件:vscode-solution-explorer。在搜索框输入vscode-solution-explorer,会显示如图16所示的插件,点击“安装”按钮安装这个插件。
图16
安装完该插件后,会在VSCode左侧多处一个按钮。在右侧单击鼠标右键,可以创建一个新的解决方案,然后可以新创建工程,也可以导入已经存在的工程。其实底层都是通过命令行实现的,只是这些命令都是自动执行的。导入工程的效果如图17所示。
图17
- EOF -
推荐阅读 点击标题可跳转
关注「极客起源」公众号,加星标,不错过精彩技术干货