专栏首页.NET开发那点事在Mac上使用Visual Studio Code开发/调试.NET Core代码

在Mac上使用Visual Studio Code开发/调试.NET Core代码

  .Net Core 1.0终于发布了,Core的一大卖点就是跨平台。这个跨平台不只是跨平台运行,而且可以跨平台开发。今天抽空研究了下在Mac下如何使用VS Code来开发.NET Core程序,并且调试代码。

1.安装.NET Core

在mac上打开终端:

~$ brew update

~$ brew install openssl

~$ brew link --force openssl

如果不能使用brew命令,先安装homebrew,玩转Mac必备。

下载.NET Core SDK:https://go.microsoft.com/fwlink/?LinkID=809124

下载完成后双击pkg安装:

一路Next完成后.Net Core就在Mac上安装好了。

2.新建一个.NET Core的程序

打开Mac的终端:

mkdir hwapp

cd hwapp

dotnet new

这几个命令是新建一个叫hwapp的目录然后在该目录下初始化一个项目,类似于用VS新建一个控制台项目。

3.运行一个程序

在终端定位到hwapp目录然后执行命令:

dotnet restore

dotnet run

这2个命令是说还原该项目的依赖,并且编译运行,输出Hello World。

4.安装Visual Studio Code

Mac上没有宇宙第一IDE VS 那我们怎么写代码呢?别急,微软为了.NET Core的跨平台计划已经给我们开发了一款编辑器 VS Code。虽然VS Code没发布多久,但是个人觉得已经超越了Atom,Sublime Text等Mac上以前常用的编辑器。不光可以开发C#,而且调试Nodejs也是非常顺手。

下载:https://code.visualstudio.com/b?utm_expid=101350005-21.ckupCbvGQMiML5eJsxWmxw.1&utm_referrer=https%3A%2F%2Fwww.microsoft.com%2Fnet%2Fcore

装完后用VS Code打开hwapp文件夹:

5.安装VS Code的C#扩展

打开VS Code,按快捷键:Command+p,在弹出的输入框里输入ext install csharp,在搜索出来的下拉框里选第一个C#,安装之。

安装完C#的扩展插件后让我们打开Program.cs这个文件编辑一下吧。这个时候已经有C#标准的代码着色,跟智能提示了。

6.调试程序

在调试之前能,我们需要配置luanch.json文件。

luanch.json是用来描述Debugger的配置的文件。

我们主要是需要修改program属性的设置,其实就是当前可执行文件的Path,注意在Mac下没有exe,编译后是dll。

“${workspaceRoot}/bin/Debug/netcoreapp1.0/hwapp.dll”

配置好后我们就可以开始正式调试程序了。

VS Code的左侧边栏有一只虫子样的图标,点击后切换到调试模式,VS Code中下断点跟VS里一样,在代码行的最左边点击一下,出现一个红点,表示下断点成功。

在绿色箭头旁边的下拉框选择.NET Core Launch (Console)控制台调试模式。点击绿色的箭头就可以开始调试啦,如果有断点的话代码就会停止在断点位置。

使用方式跟VS基本一致,F5执行,F10单步跳过,F11单步调试,鼠标悬停在变量上可以查看值,监控变量等等。

好啦,使用VS Code来调试.NET Core代码介绍的差不多了,大家可以在Mac上愉快的开发.NET程序啦。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ASP.NET Core Blazor Webassembly 之 渐进式应用(PWA)

    Blazor支持渐进式应用开发也就是PWA。使用PWA模式可以使得web应用有原生应用般的体验。

    kklldog
  • 使用Docker运行SQL Server

    现在.net core已经跨平台了,大家也都用上了linux用上了docker。跟.net经常配套使用的SQL SERVER以前一直是windows only,...

    kklldog
  • ASP.NET Core中的Controller

    ASP.NET CORE出现之前我们实现的Controller,MVC都继承自Controller基类,WebApi的话继承自ApiController。现在A...

    kklldog
  • java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类

    java集合框架  框架设计理念  容器 继承层级结构 继承图 集合框架中的抽象类  主要的实现类 实现类特性   集合框架分类 集合框架并发包 并发实现类

    noteless
  • ONOS第二代系统”Blackbird”推出评估工具

    开放网络实验室的开源SDN操作系统项目ONOS日前推出“Blackbird”版ONOS系统。这一第二代的ONOS系统进一步支持高性能,大容量的网络。特别地,它提...

    SDNLAB
  • 教程 | 在Cloud ML Engine的TPU上从头训练ResNet

    张量处理单元(TPU)是能够大大加快深度学习模型训练速度的硬件加速器。在斯坦福大学进行的独立测试中,在 TPU 上训练的 ResNet-50 模型能够在 Ima...

    机器之心
  • SoapUI 访问代理设置

    运行SoapUI时,发现接口访问不通,如下图,提示"Connection to http://127.0.0.1:8080"

    授客
  • SDN和NFV:云网络的未来

    编者按:软件定义网络固然可以在云中获得更高的效率和更大的灵活性,但是,诸如安全性和加密等方面的挑战阻碍了其进一步发展,SDN和NFV是云网络未来的发展趋势。 ?...

    SDNLAB
  • 【小家Spring】如何证明Spring是存在父子容器的?顺便解决Spring MVC访问一直404问题(配置文件没问题)

    各位老铁们是否遇曾经遇到过这样的疑惑:同样是Spring容器里的Bean,为何能够@Autowireservice进Controller里面,但是反之注入就报错...

    YourBatman
  • 犯罪分子竟使用签名Rootkit窃取登录和付款信息

    近期,研究人员发现有网络犯罪分子正在大规模的恶意活动中使用数字签名的Rootkit来窃取目标用户的登录凭证、支付信息以及浏览器历史记录,并以此来对社交网络用户进...

    FB客服

扫码关注云+社区

领取腾讯云代金券