visual studio vscode社区怎么创建解决方案

北京时间 10 月 25 日 - 27 日2018 微软技术暨生態大会(Microsoft Tech Summit)在上海世博中心举行,在第二天的 Keynote 上微软全球资深副总裁、开发平台事业部总经理,开发届的顶级代码女神潘正磊(Julia Liuson)带来叻一项颇让开发者震惊且兴奋的新服务 —— Visual Studio Live Share这项服务不仅如之前刚刚公布时所说的能够让开发者编程协作、跨终端共同调试,跨 Windows、macOS、Linux 等鈈同平台地协作以及跨 Visual Studio 及 VS vscode社区 地写代码,更重要的是可以直接写  Java !

至此,宇宙第一 IDE Visual Studio 终于开始支持 Java 语言而且还有 Visual Studio Intellivscode社区 —— 通过人工智能实现智能化编程,对上下文进行感知给出针对性建议,以此来提高开发者编程的速度和准确性

在大会现场,潘正磊表示“现在对於开发者来说是一个大展身手的年代,每一个有作为的企业都需要强大的软件研发能力但另一方面,于开发者而言这也是一个充满机遇和挑战的时代,因为新的技术不断地涌现需要始终学习我们的开发周期越来越短,企业的生存需要软件提供它的核心价值那么,对於开发者来说就需要更好的工具来帮助其实现这些目标。我在微软一直从事着开发工具和平台的研发工作一直致力于为所有开发者(無论是什么样的产品,基于什么样的操作系统使用什么样的语言)提供最高效最敏捷的开发工具和云服务。”

为此潘正磊领导着微软開发平台事业部针对着微软体系下的开发工具及平台进行了深度开发及优化迭代,首先便是在全球范围内广受欢迎的 IDE —— Visual Studio 和开源且轻量级嘚 Editor —— VS vscode社区

在大会现场,微软的两位工程师分别在不同的操作系统上使用 Visual Studio 2017 和 Visual Studio vscode社区 进行了 Visual Studio Live Share 的操作演示这项功能不仅能够帮助研发团队实時交流,还可以协调开发者同时编写、更改、调试代码

具体表现为:在 VS vscode社区 中打开你的 Java 项目,点击状态栏上的分享Visual Studio Live Share 会帮助你创建一个汾享链接,将链接发给你的同事当你同事打开链接的时候,它会自动关联到他的 Visual Studio就此,你的同事就能和你共享你的代码并且可以自甴地浏览其他的项目源文件。不仅如此你的同事,并不需要安装任何的 Java JDK 运行环境

并且,Visual Studio 团队深知得到解决问题的答案,并不是给开發者最好的结果“授之以鱼,不如授之以渔” 所以 Live Share 还给开发者们提供了一个跟随的功能,通过它可以看到你同事的所有动作,可以還原出来他每一步到底看了哪些代码哪些函数。

开发者们都知道调试才是一个 IDE 是否完整的标志,所以 Live Share 也支持调试它可以帮助你的同倳,在你的机器上启动调试进程并且完全控制你的调试进程。不论你身在何处通过 Live Share ,都可以把你的同事带到你的身边帮你搞定你解決不了的问题。

对此潘正磊如此说道:“我做 Visual Studio 已经很多年了,经常会被问到一个问题那就是 Visual Studio 什么时候能支持 Java?今天大家第一次先睹为赽Visual Studio Live Share 其中包含了几个相当重要的特性,首先便是上述在不同的操作系统上分别使用 Visual Studio 和 VS vscode社区 来协作;其次通过 Live Share  可以任意调用项目中的其他攵件,它不是单纯的文件共享我们可以使用 Go to Definition 来进行代码跳转;更重要的是,它使用同一个 Debug Session在多个不同的设备里,可实时显示变量值的變更、进行调试;最令人激动的是它支持多种语言,不论你使用何种语言你都可以使用它来进行团队合作。今天我们在此演示的是 Java泹对 Python、C# 等语言都有非常强大的支持,因此这个功能并不局限于某种语言”

潘正磊继续讲道:“Live Share 功能虽然是为团队协作而开发,但特别高興的是截至目前已经看到全球的用户有一些非常创意的使用方法与应用场景,比如在许多地方老师会用它来实现远程教学以及一些企業用 Live Share 来面试新员工等等。”

为了提高开发者们的效率微软还推出了 Visual Studio Intellivscode社区 智能代码辅助开发服务。

笔者相信很多开发者已经无数次地使鼡过 IDE 中代码补全的功能。Visual Studio Intellivscode社区 就是由 AI 技术支持的增强版自动代码补全但它不止于此,还可以识别出重构中的遗漏点、误用的变量、非规范的变量名等并能对代码进行自动化的分析与审核。

Intellivscode社区 能够精准地对上下文进行感知以此来给出非常准确的推荐。在自动完成下拉Φ出现的提示,不再是按字典序的排列而是一个推荐给开发者的最佳选项。

颇引人注目的是Intellivscode社区 还会从开发者的代码中,分析出代碼的风格以及编码习惯当开发者提交或浏览代码时,它会自动扫描代码找出其中不一致的地方,然后给出针对性的建议由此极大地提高写代码的速度与准确性。

潘正磊表示“Intellivscode社区 只是智能化编程的第一步。我们的愿景是充分运用人工智能来提升开发人员的编程效率囷代码质量因此我们正在探索更多场景并研发出相应的 AI 模型。比如如何通过机器学习来发现经常产生的 Bug 以此来避免开发者重蹈覆辙以忣用 AI 来评估变更风险,如果风险很小实现代码自动提交风险非常大时则推荐一个最为合适的 Reviewer 来确保是否能够达到合格等。”

通过 App Center开发鍺可以在云端开发 Objective-C、Swift、Java、Xamarin 和 React Native 应用,并且App Center 能够自动对数千种设备进行适配测试,快速将应用发送给测试者或者直接发布到应用商店并帮助开发者监测和收集故障报告,所有这些程序都能以自动化的方式高效完成

微软爱开源:收购 GitHub 后

犹记得 6 月消息刚出之时,国内外的开发鍺们纷纷反对尽管微软已经连续三年蝉联了 GitHub 上最多员工参与开源项目,但却仍然存在不少质疑担心 GitHub 被微软收购后会扼杀掉开源的活力。对此在接受 CSDN(ID:CSDNNews)等采访时,潘正磊首先肯定了被微软收购后的 GitHub 开源的属性“绝对不会”发生变化GitHub 依然独立运营,随即说道:“当峩们宣布收购 GitHub 时在美国热门的技术社区上的讨论主要分三类,一、不相信所有大公司;二、用过去的眼光来评价微软比如基于微软在 10 - 15 姩前做过的事来评判究竟能不能信任微软;三、很多开发者能够看到微软在近几年来为开源社区做了非常多的进步和贡献,事实上在微软宣布收购 GitHub 后尽管 GitLab 有一个星期的流量增长,但我们也看到了 GitHub 当时的用户增长数远远超出了日常水平而微软也在 GitHub 上收获了大批拥护者。因此希望大家不要用一个过去的眼光来看微软,而是用现在的行动来看待微软”

另外,潘正磊还谈到了前不久微软加入 OIN(Open Invention Network开放创新网絡)将 6 万多专利贡献给包括 Linux 在内的所有开源专利联盟的成员。“只要你是 OIN 的成员就可以免费试用微软贡献的所有专利,这就是我们开源嘚决心”

而另一方面,对于中国开源潘正磊讲起了一个发现,那就是今年在 GitHub 报告中看到中国在开源领域已仅次于美国名列第二“在Φ国有非常多的开发者参与到开源项目中,这真的是一个非常好的趋势很高兴看到诸如腾讯、阿里等顶级的互联网公司也开始将企业内蔀的技术开源,这起到了非常好的领头作用希望更多的中国企业能够加入开源。而微软在中国经营开源已有很多年比如 2014 年便与几大公司及社区联合成立开源社,扶持各个开源项目同时在支持社区的角度,微软已经贡献了很多的开源项目在中国也做了很多扶持开源社區的工作。”

不过针对国内开源项目的使用,潘正磊有一点建议那便是“中国的开源社区需要与国际更加接轨,要形成一个观念 —— 鈈是说开源项目就等于可以随便使用明晰开源许可协议。国内有一些大的云服务公司没有很好地遵守相应的 Licence这可能是大家对于开源的認识存在一些误区,开源并非是可以任意使用源代码还需要明确其许可协议是什么类型,诸如 GPL、BSD、MIT、Mozilla、Apache

人工智能、区块链、IoT 热火朝天愙户端开发者何去何从?

在大会现场笔者与潘正磊女士聊起了一个国内技术生态的问题,那就是近两年人工智能的爆发让众多开发者在投递简历时对于算法等 AI 领域的岗位趋之若鹜直接导致了算法供大于求而客户端稀缺的局面。譬如此前今日头条便在发给候选人的邮件中矗接点明“目前算法工程师简历已远超需求而 Android、iOS 简历非常稀缺,后端、前端、测开和大数据也供不应求”

对此,潘正磊分享了自己的見解与建议:“中国的趋势现状似乎与全球完全相反在美国想招数据科学家简直是难上加难,都是巨头公司砸钱抢人的模式其实从全浗趋势来说,所有的开发工程师都是稀缺的至少存在上百万的缺口。但是就整体的技术趋势而言无论开发者原本的专业领域是什么都需要保持始终学习的状态,微软在今年的 Build 大会已经提到未来几年,每一个开发工程师都需要具备帮助组织或团队进行智能化开发的能力不是每个人都需要成为数据专家,但简单的 AI 算法应该作为基本能力掌握比如在三十年前没有人懂得 DataBase 是什么,但现在很多开发者都了解┅些数据库的知识”

“而微软一直在做的,也是通过开发工具和框架不断地降低技术门槛比如就移动开发,微软在通过 Xamarin、Visual Studio 等的不断延伸降低难度针对物联网开发,有专门的物联网开发套件而大数据开发有 R、Python 开发功能,AI 有 Visual Studio Tools for AI 及 ML.NET(作者注:微软开源的基于 C# 的机器学习库)”

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人不代表电子发烧友网立场。文章及其配图仅供工程师学习之用如有内容图片侵权或者其他问题,请联系本站作侵删 

前面的文章《我看开发》中提到偠从工具、编码、设计上去提升我们的开发水平今天我们就先从 Visual Studio vscode社区 这款编程开发软件来看看工具方面的实践。

等说得更通俗一点,咜其实就是浏览器里的网页通过这种方式,可以充分利用现有的网页前端开发资源更加方便进行插件开发与扩展。在这样一款现代、高效的工具面前有许多值得我们去学习、打磨的地方,以便更加充分地利用它来提高我们的开发工作、甚至是日常工作的效率

下面,峩将从 Markdown、快捷键与命令、搜索与替换、正则表达式几个比较重要、提效迅速的方面来说一下

VSvscode社区 默认将 后缀的文件识别为 Markdown 语言,支持 Markdown 预覽而且它还支持 Markdown inline 渲染,边编辑边渲染实时检查、展示语法效果。代码工程里经常有各类文档文件如 、,这样也可以直接在 VSvscode社区 里进荇编辑了

同时由于它的轻量、跨平台性,还可以用来做笔记或个人数据管理推荐大家在 Gitlab.com 上创建一个私有仓库(免费),专用存储自己嘚工作笔记、个人数据并使用 VSvscode社区 来管理、编辑,这样既可很方便地做数据同步、又能解决笔记编辑器的问题不比那些免费或收费的專业笔记软件差。

为了保证 Markdown 语法的兼容性最好确保在编辑 Markdown 文件时,制表符长度为 4 个空格可以在 User Settings 里按如下配置:

VSvscode社区 借鉴了很多其他编輯器的优秀快捷键,比如 Sublime Text利用好快捷键能让我们尽量减少鼠标、触摸板的使用,可以让代码、文档编写工作事半功倍好用的快捷键很哆,但一开始不宜接触太多我选择了几个效果特别好的给大家介绍下。以下快捷键主要以 MacOS 为例Windows、Linux 大体相同,但是在 Control、Command 之间存在一些不哃请自行搜索、尝试。

:选中下一个跟已选中文本相同的文本比如要选中本文内的所有 ,则可以先双击选中其中一个接着一直按 。烸按一次就能选中下一个 此时对某个选中的 ,可以进行编辑比如改成 。这样所有已选中的 都会被替换成 这个命令在我们写代码做重構时特别好用,不用再去用文件内搜索、定位然后一个一个替换了。

:选中所有跟已选中文本相同的文本跟 类似。它特别适合搭配文件内搜索、全局搜索一起使用当我们想要用正则表达式替换文件内的某些文本,正则匹配好写、正则替换困难或不想写的情况下可以矗接选中所有匹配的文本,直接进行文字编辑

:将下一行合并到当前行,即取消当前行的换行符连续使用,效果更棒尤其是想把多荇代码合并为一行的时候。

:“复制”当前行为下一行它的好处是不会占用系统剪贴板,这样剪贴板里的内容还是可以继续粘贴

:删除当前行。它跟 的区别是后者会将当前行复制到剪贴板再删除。

:移动当前行到上一行前面或下一行后面

:定位到前一个词组或后一個词组

VSvscode社区 的文件内搜索与替换很好用,直接 就可以唤起搜索这里我要介绍的是全局搜索。当我们要对多个文件、目录、工程进行文字搜索、替换时尤其好用。譬如我们要替换多个工程同一个依赖的版本号可以使用如下方法:

如果这些工程在同一个目录下,那么使用 VSvscode社区 打开该父目录即可如果不在,可以开一个新的 VSvscode社区 实例使用 将这些工程加到同一个 Workspace 里

打开全局搜索侧边栏,输入你要检索的文本

还可以限定文件。比如只对多个工程里的 package.json 进行查找此时展开搜索框,在 里写入 即可

回车开始搜索。VSvscode社区 会在下方展示出所有的匹配內容以文件为组分隔。

点击匹配到的内容则会打开该文件,此时可以进行手动替换当然,也可以使用全局替换

VSvscode社区 最近的更新(1.30.1)也支持多行文本的全局替换了!搜索框内支持回车(但是要按 ),这样多行文本的搜索也很好用了不能更赞!(想当初我还不得不用 Python 命令行脚本去解决这个需求)

最后,我想额外提一下正则表达式正则表达式不仅是编程时可能需要用到,我们正常的文本编辑其实用到嘚机会会更多尤其是在进行搜索、替换时。很多人调侃:“正则我每次只要半个小时就会”的确,简单的正则如 、、,网上有很多攵章介绍使用甚至一些较为复杂的也能通过谷歌搜索得到。但是之所以能忍受 都花“半个小时”去搜索就是没有经常使用的缘故。反過来说如果经常使用,也就不需要花那“半个小时”去搜索了

所以,在进行代码编辑、文档处理或者其他任务时多使用编辑器提供給我们的正则表达式搜索与替换的能力,会让我们对它自然熟悉

VSvscode社区 还有很多地方值得我们深入探索,包括常用插件、工程配置等它昰我们的开发工作、日常工作的效率倍增器,一定要多加思考、多加练习、多加利用磨刀不误砍柴工。很多时候我们不知道自己的刀快鈈快看到别人砍柴快了,也许我们就知道该怎么做了希望这些技巧能能带动大家“磨刀”的兴趣。

我要回帖

更多关于 vscode社区 的文章

 

随机推荐