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诊断工具时我用些什么
身边有些年轻同事曾经向我表达过这种困扰:尽管完成日常工作没有任何问题,但是还想更进一步,把代码写得更好些,做到精益求精.现在写的代码能实现功能,但是不知道可以怎样写得更好. 除了阅读优秀的开源库开源框 ...
随机推荐
- QQ Auto Login Visual Basic Script
QQ_Auto_Login.vbs: Dim QQPath QQPath="C:\Program Files (x86)\Tencent\QQ\Bin\QQ.exe" Set ba ...
- 自动切换的JS菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > <html xmlns=&quo ...
- 连接ssql语句
- Mongodb For C# "Query" 对象常用的方法
Query.All("name", "a", "b");//通过多个元素来匹配数组 Query.In("name", & ...
- java常见异常类图(分类了Error/RuntimeExecption、check Exception)
版权:欧初权 http://www.cnblogs.com/langtianya/p/4435537.html
- Awvs如何扫描需要登录的部分
一个小技巧,可能部分的人习惯了按下一步.所以不大知道.给大家说说哈. 到LOGIN步骤的时候,在Login sequen 新建.然后你懂的了.会新出来一个浏览器,直接登录后一直下一步即可
- HLG2081分苹果
苹果 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 39(24 users) Total Accepted: 29(22 users) ...
- 替罪羊树—BZOJ3224: Tyvj 1728 普通平衡树
冬令营被平衡树坑了之后,打算苦练一番数据结构(QAQ). 先是打了一下想学好久的替罪羊树. 替罪羊树实现方法很简单,就是在不满足平衡条件的时候暴力重构子树. 调试小结: 1.删除操作分两类情况:如果某 ...
- java调用matlab函数
如何将实验结果在matlab中可视化呢,下面使用java语言编程,调用matlab中的函数: 本人安装的是Matlab7.11.0 (R2010a)和 Eclipse 4.2 : 1)首先设置环境变量 ...
- Compare Strings
Compare two strings A and B, determine whether A contains all of the characters in B. The characters ...