Visual Studio从此走入非Windows程序猿家
(此文章同时发表在本人微信公众号“dotNET每日精华文章”)
在Build 2015大会上,微软放了很多大招,其中一个让普通(不管是微软生态还是非微软生态的)程序猿都密切关注的就是Visual Studio Code的发布。
之前有一篇介绍Node.js Tool for Visual Studio的文章还谈到VS这样的强大IDE也可以给非微软生态的开发人员带来便利,不过还是有一些欠缺之处:VS必须安装在Windows下,VS不够轻量级。让公众没有想到的就是(包括我们MVP,虽然我们在Build大会之前1,2个星期就可以下载VS 2015 RC了),微软的工程团队包装和优化了一个开源代码编辑器之后,发布了以Visual Studio品牌命名的增强版代码编辑器,从而把VS一些强大的特性带到了Linux和Mac OSX平台。Visual Studio Code的发布,除了加强了.NET跨平台开发的能力,也获得了国内外各个平台开发人员的极大关注和赞许。
其中,就不乏Google开发者专家、微软区域技术专家、MVP、大量文章书籍的作者John Papa的极力推崇(本来Build上深入演示VSCode的三人中的一个非微软演讲者就是他)。他发布了一个系列文章来完整介绍VSCode的各方各面。
第一篇文章是一个介绍性的文章(http://johnpapa.net/visual-studio-code)。在文章的开头,就用上了“惊叹、难以相信”等词汇,并认为这是一个“改变游戏规则”的伟大工具。接着,深入谈及了对VSCode的整体印象(摘录了大量VSCode的官方介绍和文档)。在这个文章中也回答了很多人都会问的“这是一个编辑器还是IDE”的问题,他直截了当的说明“这虽然是一个好问题,但是对于我完全不是问题,难道你只会选择一个工具?”,也给出了一篇专门讨论“编辑器和IDE”的博文地址(http://johnpapa.net/web-dev-with-editors-and-ides)。
John当然是喜欢VSCode的,现在已经是他的首选工具了。他还列出了VSCode的重点特性和他认为非常棒的地方:
- 超级快
- 可调式
- 有智能感知
- 集成Git
- 支持重构
- 支持Gulp等的任务执行
- 自动保存
- 找东西轻而易举
- 可自定义
- 快速修复
- 多实例
不过,他也指出现在的一个暂时不足之处:缺乏扩展支持。John在这篇介绍文章中,也基于VSCode的主要特性给出了自己的其他指导文章地址(以下文章的操作都是在OSX中完成的):
- VSCode入门(http://johnpapa.net/getting-started-with-visual-studio-code/):基本功能、快捷键、代码查找导航、编辑器能力等的介绍。
- 智能感知介绍(http://johnpapa.net/intellisense-witha-visual-studio-code):智能感知(即代码补全)支持JavaScript、TypeScript和C#。
- 重构的使用(http://johnpapa.net/refactoring-with-visual-studio-code):一些更为高级的代码导航功能,改变所有出现位置,多光标,在所有文件中的重命名,格式化代码。
- 调试的使用(http://johnpapa.net/debugging-with-visual-studio-code):调试的菜单,JS的调试,TS的调试。
- Git集成和配置介绍(http://johnpapa.net/git-and-preferences-in-visual-studio-code):可对比代码,丰富的配置(包括快捷键重映射),主题配色。
最后,John也强调了VSCode的诞生离不开Scott Guthrie和Scott Hunter的开放心态和推动,也离不开Erich Gamma和Chris Dias的开发工作。
我相信介绍和赞扬VSCode的文章在社区中还有很多(比如国内的知乎上就有一个回复介绍的比较全面),大家可以多学习下其他人的使用经验。
Visual Studio从此走入非Windows程序猿家的更多相关文章
- 使用 Visual Studio 分析器找出应用程序瓶颈
VS的性能分析工具 性能分析工具的选择 打开一个“性能分析”的会话:Debug->Start Diagnotic Tools Without Debugging(或按Alt+F2),VS2013 ...
- 在Visual Studio上开发Node.js程序(2)——远程调试及发布到Azure
[题外话] 上次介绍了VS上开发Node.js的插件Node.js Tools for Visual Studio(NTVS),其提供了非常方便的开发和调试功能,当然很多情况下由于平台限制等原因需要在 ...
- 在Visual Studio上开发Node.js程序
[题外话] 最近准备用Node.js做些东西,于是找找看能否有Visual Studio上的插件以方便开发.结果还真找到了一个,来自微软的Node.js Tools for Visual Studio ...
- 使用Visual Studio 2015 Community 开发windows服务
昨天研究在.NET下开发Windows服务程序,期间遇到一些小问题,这里仅将自己的开发过程和需要注意的地方写下和广大网友分享…… 1.基础 Windows服务是指系统启动时能够自己运行的程序.W ...
- 在Chrome+Visual Studio中调试asp.net程序很慢的问题(Firefox也有类似问题)
在Chrome+Visual Studio中调试asp.net程序很慢的问题(Firefox也有类似问题) 今天开始起在Chrome中调试,发现问题主要出在菜单栏(layout文件)中,google了 ...
- 使用 Visual Studio 分析器找出应用程序瓶颈(转)
使用 Visual Studio 分析器找出应用程序瓶颈 Hari Pulapaka and Boris Vidolov 本文讨论: 以性能瓶颈为目标 应用程序代码分析 比较分析数据 性能报告 本文使 ...
- visual studio 2019 + cmake 实现windows linux跨平台开发环境搭建
visual studio 2019开始支持cmake跨平台开发. 以前cmake项目需要先生成vs项目,然后vs直接使用vs项目开发.现在可以直接用vs2019创建或打开cmake项目. 使用vis ...
- Visual Studio 2010 Express for Windows Phone 永久免费序列号
Visual Studio 2010 Express for Windows Phone 永久免费序列号:YDK44-2WW9W-QV7PM-8P8G8-FTYDF
- SAP成都研究院非典型程序猿,菜园子小哥:当我用UI5诊断工具时我用些什么
身边有些年轻同事曾经向我表达过这种困扰:尽管完成日常工作没有任何问题,但是还想更进一步,把代码写得更好些,做到精益求精.现在写的代码能实现功能,但是不知道可以怎样写得更好. 除了阅读优秀的开源库开源框 ...
随机推荐
- MySQL索引的创建、删除和查看
MySQL索引的创建.删除和查看 此文转自http://blogold.chinaunix.net/u3/93470/showart_2001536.html 1.索引作用 在索引列上,除了上面提到的 ...
- http 超文本传输协议
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和接 ...
- Linux(Ubuntu)下面SecureCRT 完全破解
转载声明:本文来自http://www.boll.me/archives/680 相关说明: 上篇发了个Linux(Ubuntu) 下 SecureCRT 7 30天循环破解在启动的时候会多输入一次确 ...
- 给setTimeout和setIntreval函数添加回调参数
setTimeout和setInterval是两个很常见的计时函数.在以前,他们只接收两个参数,我们无法直接向他们的回调函数中添加参数,如果需要实现添加多个参数,可以在外层多嵌一层来实现类似的功能.现 ...
- vmware, failed to lock the file
电脑死机,进不了桌面,实在不行就重启,但是在运行着虚拟机,重启后打开VMware虚拟机,提示failed to lock the file,进不去了,急阿,里面不少资料呢...问万能的Google,终 ...
- 如何让ThinkPHP的模板引擎达到最佳效率
默认情况下ThinkPHP框架系统默认使用的模板引擎是内置模板引擎.内置模板引擎支持模板文件中采用php原生态代码和模板标签的混合使用.ThinkPHP官方开发文档说,这种默认的内置模板引擎的性能是高 ...
- hiho一下 第九十八周 搜索一·24点
题目1 : 搜索一·24点 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 周末,小Hi和小Ho都在家待着. 在收拾完房间时,小Ho偶然发现了一副扑克,于是两人考虑用这副 ...
- 我常用的delphi 第三方控件
转载:http://www.cnblogs.com/xalion/archive/2012/01/09/2317246.html 有网友问我常用的控件及功能.我先大概整理一下,以后会在文章里面碰到时再 ...
- Having与Where的区别
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行. having 子句的作用是筛 ...
- less,sass,stylus配置和应用教程及三者比较
less,sass,stylus配置和应用教程及三者比较 Less 1. 定义: Less是CSS预处理语言,在css基础之上增加了诸如变量,混合(mix),继承,运算,函数等功能,LESS既可以运 ...