VSCode黑宝书《Visual Studio Code 权威指南》上市后反响强烈,不到一个月的时间,便带领5000+读者目睹了VSCode那庞大且奇幻的真实世界!

除了挖掘那些不为人所知的核心功能、学习Visual Studio Code本身的内容外,还要学习如何学习Visual Studio Code的能力,做到举一反三,这将会使自己在未来受用无穷。本文我们会重点来聊聊“如何学习”这件事。学习能力往往也是互通的,我们在本文所学的学习能力并不只是对于学习Visual Studio Code有用,在学习其他技术时,也可以有所借鉴。  *  想了解VS Code那些“超纲级”知识点的同学,欢迎到书中一探究竟,文末可获取本书详情~


1 学会搜索

做一个优秀的Google程序员,做一个优秀的Stack Overflow程序员。学会使用Stack Overflow和Google是成为一个优秀程序员的必要条件。一个优秀的程序员一定会合理地使用Stack Overflow和Google来搜索和解决问题。会使用Stack Overflow和Google,不一定是优秀的程序员。但不会使用Stack Overflow和Google,就一定不会是优秀的程序员。

在学习和使用Visual Studio Code的过程中,无论是谁都会遇到各式各样的问题。学会搜索,是你的必经之路。相信读者朋友都是优秀的程序员,Google、Bing、Stack Overflow将会是你在搜索解决方案过程中的最好的朋友。

除此之外,Visual Studio Code官网和Visual Studio Code的GitHub仓库也是搜索Visual Studio Code相关内容的最佳途径。

Visual Studio Code官网有着很详尽的使用和插件开发文档。Visual Studio Code的GitHub仓库有Issues和Wiki页面。通过GitHub Issues,你可以查找自己遇到的bug是不是一个已知的问题。通过GitHub Wiki,你可以了解到Visual Studio Code未来半年甚至一年的规划,也可以搜索到如何为Visual Studio Code做贡献。

2 学会提问

平时,笔者经常会从不同渠道(邮件、GitHub Issues、微信、QQ、知乎)看到或收到不同人对于Visual Studio Code提出的相关问题,甚至从支付宝来的提问都有。笔者有一个很大的感受,就是有一部分人并不善于提问。

笔者还建立了不少Visual Studio Code的微信群和QQ群,方便大家交流学习。然而,笔者经常会在群里看见类似这样的问题:

有人用VS Code写Java吗,

我怎么运行不了?

这个按钮怎么变灰了?

有大佬在吗?想问个问题!

……

有些问题只有一个比较随意的截图,甚至没有截图!对于这样的问题,群里的反应往往是以下两种。

  • 群里静悄悄,一片安静。

  • 群里又开始讨论其他话题,“无视了”这个问题。

那么为什么会这样呢?是群友们都不想帮助提问者吗?当然不是!问题还是出在提问者上,提问者没有学会如何正确地提问。

首先,在提问之前,你有没有尝试自己去解决这个问题?有没有思考过问题的原因?有没有通过Google、Bing、Stack Overflow等网站搜索过类似的问题?有没有在Visual Studio Code的GitHub Issues上搜索过它是不是已知的bug?

如果已经尝试解决过问题,但没有成功。那么你可以开始寻求别人的帮助。对于提出的问题,一定要描述详尽。如果是一个bug,要提供可以完整复现bug的步骤。特别是对于与Visual Studio Code相关的问题,要提供Visual Studio Code的版本、操作系统的版本、期望的结果与实际的结果、原始的代码片段等信息。必要的时候,还要提供相应的截图。对于源代码,尽量提供文本或源文件,而不只是截图,以便他人用于复现。如果代码量很大,则可以重新创建一个文件以存放可用于复现的代码,去除不必要的代码,缩小整体的代码量。

有一个描述清晰的问题,才更有可能获得别人的帮助。

3  学会学习

“师者,所以传道授业解惑也。”我们可以看到,自古以来,我们就把“传道”放在了“授业”和“解惑”之前,其重要性可见一斑。虽然本书的大部分章节是关于“授业”的,但贯穿其中的,不乏“传道”的内容。希望读者朋友通过本书的“授业”能掌握Visual Studio Code的各项内容,更能通过本书的“传道”,提升自己的学习能力,拥有自己的思考,了解Visual Studio Code背后的原理,通过本书的内容举一反三,学到更多知识。

4 自己的思考

在寻求帮助之前,自己要对问题进行过认真思考。比如,你经常使用的某个插件出现了一个bug。这个bug在Visual Studio Code 1.36上是不存在的,但在1.37上就出现了。那么在开始给插件提Issue之前,是不是可以自己思考一下,也许是Visual Studio Code 1.37版本的更改或regression(倒退的错误)导致了插件的bug。在提issue时,能给出自己遇到的情况和思考,可以更好地帮助插件开发者找到问题的根本原因。同时,对自己也能有很大的帮助。

再比如被广泛使用的Code Runner插件,读者有没有想过背后的实现原理是什么?其实,原理很简单。这里留给读者自己思考。相信读者通过思考后,一定会有自己的答案。读者也可以查看Code Runner的源代码(见参考资料[3]),通过查看源代码便可以了解其原理。如果以后遇到Code Runner的bug,也许就不用再向笔者寻求帮助了,直接发一个Pull request,岂不是更棒?

5 知其然知其所以然

相信很多人都是Visual Studio Code的使用者,而Visual Studio Code 的开发者或插件开发者只占其中很小的比例。作为一个使用者,知道Visual Studio Code背后更多的原理和技术栈,知其然知其所以然,对自己也是很大的帮助。

2019年,微软正式发布了Visual Studio Online。网页版的Visual Studio Online其实是基于Visual Studio Code而打造的。如果你能知道Visual Studio Code是基于Electron开发框架开发的,而Electron是基于HTML、CSS、JavaScript等Web技术栈而开发的,你就一定能理解为什么Visual Studio Online是基于Visual Studio Code开发的了。此外,Visual Studio Code的核心组件、“前端”与“后端”分离的架构设计、进程隔离的插件模型,都为Visual Studio Online打下了坚实的基础。这也是值得我们学习的地方。

了解背后的原理和技术栈不仅有助于我们使用Visual Studio Code这个开发工具本身,而且可以帮助我们在日常的项目开发中了解更多的技术选型和架构设计,开阔我们的眼界。

6 举一反三

也许,你是一个多语言开发者,需要在Visual Studio Code中同时使用Python和Pascal语言。通过学习,你可以玩转Visual Studio Code的Python使用技巧,同时也应该学会举一反三。在一些方面,不同语言的开发体验是相近的。如果你已经学会了在Visual Studio Code中对Python代码进行代码编辑、静态代码检查、调试、单元测试等功能,那么在Visual Studio Code中编写Pascal时,你就可以有相应的参考。Visual Studio Code为调试、智能提示、代码导航等功能都提供了风格一致的开发体验。有了举一反三的能力,你就能在Visual Studio Code中更快地上手不同编程语言的开发。

本文节选自《Visual Studio Code 权威指南》

关于本书

《Visual Studio Code 权威指南》

韩骏 著

  • VS Code首著问世,微软官方出品

  • 从入门到精通,社区倾情巨献

本书由浅入深地介绍了Visual Studio Code的各个方面,主要包括Visual Studio Code的核心组件、使用技巧、进阶应用、插件推荐、插件开发、Visual Studio family的各个核心产品等。此外,本书还详细介绍了如何使用Visual Studio Code进行各种编程语言的开发、前端开发、云计算开发、物联网开发和远程开发。


更多科技资讯请见微信公众号:博文视点Broadview(微信号:bvbooks)

各种VS Code的学习秘诀,全是这六条法则撑起的!相关推荐

  1. 基于深度学习的全色图像锐化(Pansharpening)论文及代码整理

    基于深度学习的全色图像锐化(Pansharpening)论文及代码整理 首先附上近期整理基于深度学习的图像融合论文的思维导图 本篇博客主要整理基于深度学习的全色图像锐化(Pansharpening)的 ...

  2. Web前端小白了解这些学习秘诀,你也能成为大神!

    新手们有一个常见的错误就是犹豫于判断哪种编程语言是做好的.最该先学的.我们有很多的选择,但你不能说那种语言"最好".我们应该理解:说到底,什么语言并不重要.重要的是理解数据结构.控 ...

  3. 学习【全栈之巅】Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台学习笔记(2.17-2.20)

    学习[全栈之巅]Node.js + Vue.js 全栈开发王者荣耀手机端官网和管理后台学习笔记(2.17-2.20) 本项目是 学习Bilibili 全栈之巅 视频教程相关源码和体会 https:// ...

  4. 两个月入门深度学习,全靠动手实践!一位前端小哥的经验分享

    两个月入门深度学习,全靠动手实践!一位前端小哥的经验分享   在当前社会,技术日新月异,一个全栈工程师不及时学习新知识,掌握AI技能,再过两年就算不上"全栈"了. 产品发烧友.前端 ...

  5. NLP中的自监督表示学习,全是动图,很过瘾的

    作者:amitness 编译:ronghuaiyang 原文链接: NLP中的自监督表示学习,全是动图,很过瘾的​mp.weixin.qq.com 其实在自监督学习的概念提出之前,NLP中就已经运用到 ...

  6. python零基础入门教程视频下载-Python零基础入门学习视频教程全42集,资源教程下载...

    课程名称 Python零基础入门学习视频教程全42集,资源教程下载 课程目录 001我和Python的第一次亲密接触 002用Python设计第一个游戏 003小插曲之变量和字符串 004改进我们的小 ...

  7. python基础教程视频教程百度云-Python零基础入门学习视频教程全42集百度云网盘下载...

    课程简介 Python零基础入门学习视频教程全42集百度云网盘下载 课程目录 042魔法方法:算术运算 041魔法方法:构造和析构 040类和对象:一些相关的BIF 039类和对象拾遗 038类和对象 ...

  8. 【资源放送】机器学习/深度学习最全公开视频大放送!

    文章首发于微信公众号<有三AI> [资源放送]机器学习/深度学习最全公开视频大放送! 该篇小记一下机器学习与深度学习的一些好的基础视频资源. 如果你是刚入门的小白,建议细细阅读一下下面将要 ...

  9. code::blocks自动补全诸如socket或者其它一些库中的函数

    如何让Ubuntu/winxp下面的code::blocks自动补全诸如socket或者其它一些库中的函数,宏之类的东西: 在project的parser里面将这些library的头文件包含进去即可, ...

  10. 强化学习环境全库安装(从mujoco到spinningup)

    强化学习环境全库安装 从mujoco200到spinningup (上篇) 前言 一: 安装Mujoco200物理引擎 二. 创建conda虚拟环境 1:选择python版本 2.创建conda虚拟环 ...

最新文章

  1. 程序(进程)内存分布 解析
  2. 无线通信原理及协议栈(ZigBee、蓝牙等)解析
  3. 信息系统项目管理师优秀论文:项目整体管理
  4. poj 3061(尺取法)
  5. 给图像添加噪声,高斯噪声、椒盐噪声
  6. led灯光衰怎么解决_如何解决LED灯具照明光衰问题
  7. 对WebBrowser控件设置代理
  8. Isight做MATLAB优化,iSight结构优化基础16讲-学会使用isight控制ABAQUS、APDL等CAE软件...
  9. java程序开发的简历_Java程序开发工作简历
  10. 安装西门子博图一直重启_博途V15.1安装及无限重启和.net3.5SP1错误处理解决方法...
  11. 分组数据方差公式_用Excel算分组方差《excel怎么求分组的数据的标准差》
  12. Linux(七,八)SHELL解释器、用户和用户组管理详解
  13. 基于C51实现数码管的显示
  14. (UTF-8)ASP汉字转拼音函数(附Access数据库)
  15. python基础选择题库_智慧树题库Python基础期末答案2020年免费
  16. excel画图,折线
  17. 简单的给数字加密解密
  18. Android-tab页面-三种实现方法
  19. STM32----FLASH掉电保存动态平衡方案
  20. Android 9 行为变更:所有应用

热门文章

  1. C++自定义函数类型——typedef的使用
  2. CSS文件未加载浏览器报警告:Resource interpreted as Stylesheet but transferred with MIME type text/html...
  3. chromium笔记目录
  4. C# 0xC0000005 捕获
  5. vue slot的使用介绍
  6. 冲刺阶段—个人工作总结07
  7. 40.django中重要概念
  8. 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(Hdu2191)-多重背包
  9. 项目期复习:JS操作符,弹窗与调试,凝视,数据类型转换
  10. ELM322 - OBD (VPW) to RS232 Interpreter (v2.0)