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诊断工具时我用些什么
身边有些年轻同事曾经向我表达过这种困扰:尽管完成日常工作没有任何问题,但是还想更进一步,把代码写得更好些,做到精益求精.现在写的代码能实现功能,但是不知道可以怎样写得更好. 除了阅读优秀的开源库开源框 ...
随机推荐
- 7、8上的cell上的一个按钮,当点击按钮时,要拿到这个cell,可以用代理,也可以用superview
/** cell上的付款按钮事件 */ - (IBAction)paymentButtonClick:(UIButton *)sender { /** * @author SongXing, 15-0 ...
- Linux下web目录权限设置
1.nginx和php-fpm运行用户为www 2.我们假设web目录所属着为web_owner 3.将web目录的用户和用户组设置为web_owner和www,如下命令:chown -R web_o ...
- xss跨站攻击测试代码
'><script>alert(document.cookie)</script> ='><script>alert(document.cookie)& ...
- myBatis 实现用户表增操作(复杂型)
增加 @Test public void addTest(){ String resource = "mybatis-config.xml"; SqlSession sqlSess ...
- ios框架中UIResponder的职责链设计模式应用
今天有空,就把UIResponder的职责链图上传一下 如果不理解职责链设计模式的朋友,请参考:http://www.cnblogs.com/langtianya/p/4060941.html
- Unity 3D 关于给APK包加广告的流程
http://hunterwang.diandian.com/post/2012-11-23/40042217286 最近一直纠结着用Unity给安卓的应用添加广告,用Unity3d做安卓我还是第一次 ...
- 计蒜客 X的平方根
X的平方根 设计函数int sqrt(int x),计算x的平方根. 格式: 输入一个数x,输出它的平方根.直到碰到结束符号为止. 千万注意:是int类型哦- 输入可以如下操作: while(cin& ...
- MD(d)、MT(d)编译选项的区别
1.编译选项的位置 以VS2005为例,这样子打开: 1) 打开项目的Property Pages对话框 2) 点击左侧C/C++节 3) 点击Code ...
- Dynamo和Bigtable对比
数据结构化问题 首先要提到的是两者存储数据属性上的区别,虽然两者都是以key/value形式进行存储,但Dynamo偏向存储原数据,因为其所存储的数据是非结构化数据,对value的解析完 ...
- 解决港版A1530 ios8 联通4G 电话打不进无法接通的问题,联通4G开关开启方法
GF的iPhone5s港版A1530联通4G老是出现无法接通的问题, 根本原因是没有4G开关.港行iPhone却只有3G开关.也就是说,当启动3G时,却搜到4G信号,但是关闭时却只能关闭3G和2G.让 ...