.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程序啦。

在Mac上使用Visual Studio Code开发/调试.NET Core代码的更多相关文章

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

    Mac上使用Visual Studio Code开发/调试.NET Core代码 .Net Core 1.0终于发布了,Core的一大卖点就是跨平台.这个跨平台不只是跨平台运行,而且可以跨平台开发.今 ...

  2. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(一)-- 起步

    本文记录了在Windows环境下安装Visual Studio Code开发工具..Net Core 1.0 SDK和开发一个简单的Web-Demo网站的全过程. 一.安装Visual Studio ...

  3. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(八)-- 多环境开发

    本篇将演示Asp.Net Core如何在多环境下进行开发适配. 在一个正规的开发流程里,软件开发部署将要经过三个阶段:开发.测试.上线,对应了三个环境:开发.测试.生产.在不同的环境里,需要编写不同的 ...

  4. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(十)-- 发布(Windows)

    本篇将在这个系列演示的例子上继续记录Asp.Net Core在Windows上发布的过程. Asp.Net Core在Windows上可以采用两种运行方式.一种是自托管运行,另一种是发布到IIS托管运 ...

  5. visual studio code 里调试运行 Python代码

    最近对微软的visual studio code 挺感兴趣的,微软的跨平台开发工具.轻量简洁. 版本迭代的也挺快的,截止16年8月2日已经1.3.1版本了,功能也愈加完善.(16年12月18日 已经, ...

  6. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(三)-- Logger

    本篇是在上一篇的基础上添加日志功能,并记录NLog在Asp.Net Core里的使用方法. 第一部分:默认Logger支持 一.project.json添加日志包引用,并在cmd窗口使用 dotnet ...

  7. [转]使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(三)-- Logger

    本文转自:https://www.cnblogs.com/niklai/p/5662094.html 本篇是在上一篇的基础上添加日志功能,并记录NLog在Asp.Net Core里的使用方法. 第一部 ...

  8. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(九)-- 单元测试

    本篇将结合这个系列的例子的基础上演示在Asp.Net Core里如何使用XUnit结合Moq进行单元测试,同时对整个项目进行集成测试. 第一部分.XUnit 修改 Project.json 文件内容, ...

  9. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(七)-- 结构化配置

    本篇将记录.Net Core里颇有特色的结构化配置的使用方法. 相比较之前通过Web.Config或者App.Config配置文件里使用xml节点定义配置内容的方式,.Net Core在配置系统上发生 ...

随机推荐

  1. Paket 介绍

    在国外.NET社区有一个很火的话题是Packet(https://fsprojects.github.io/Paket/index.html ),它本质上是Nuget 之外的另一种方式管理.NET项目 ...

  2. 安装 Linux 时碰到的硬盘分区的陷阱及应对

    硬盘分区的陷阱及应对 之所以想到写这篇,是因为本人在折腾 Linux 系统的过程中,有多次掉入硬盘分区的陷阱的经历.最近几天,再一次掉入坑中,折腾了两天才从坑中爬出来.经过多方查询资料,终于弄明白了硬 ...

  3. Vivado SDK 2014.2 创建新工程后,BSP版本不对的解决办法

    问题描述如下: 1. 使用Vivado SDK 2014.2已经创建了工程,但是此时,hdf文件增加了外设,需要重新创建工程以更新SDK中的外设描述: 2. 使用新的hdf创建工程后,发现system ...

  4. Step by Step 创建一个 Web Service

    原创地址:http://www.cnblogs.com/jfzhu/p/4022139.html 转载请注明出处 (一)创建Web Service 创建第一个项目,类型选择ASP.NET Empty ...

  5. 花一分钟来看看Worktile是如何为团队协作而生的

    团队协作,我们想的更深.更远.更多,花一分钟来看看我们特别奉献的故事,然后去注册一个账号,邀请小伙伴一起来工作,你会体会Worktile才是真正懂你的协作方式.

  6. 《Entity Framework 6 Recipes》中文翻译系列 (22) -----第五章 加载实体和导航属性之延迟加载

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第五章 加载实体和导航属性 实体框架提供了非常棒的建模环境,它允许开发人员可视化地使 ...

  7. Hystrix框架4--circuit

    circuit 在Hystrix调用服务时,难免会遇到异常,如对方服务不可用,在这种情况下如果仍然不停地调用就是不必要的,在Hystrix中可以配置使用circuit,当达到一定程度错误,就会自动调用 ...

  8. Oracle 中 union 和union all 的简单使用说明

    1.刚刚工作不久,经常接触oracle,但是对oracle很多东西都不是很熟.今天我们来了解一下union和union all的简单使用说明.Union(union all): 指令的目的是将两个 S ...

  9. Android开发学习之路-回调机制学习笔记

    不知道是我学Java的时候没有认真听还是怎么的,曾经一直不知道什么是“回调”,它有什么用,百度一大堆,都太复杂看不明白(好吧是我笨),所以想把自己理解的分享给其他看到的人,大家都真正认识一下这个重要的 ...

  10. Tornado框架中视图模板Template的使用

    上文的程序中有这样一段: class MessageHandler(tornado.web.RequestHandler): def get(self): self.write(''' <htm ...