• VsCode分享


    此次分享主要来自知乎上的《VsCode从入门到进阶》,一个朋友给我分享了一下,于是我听了一下,做了一些笔记,借此分享给大家。

    VsCode官网地址为:

    https://code.visualstudio.com/

    感兴趣的朋友可以下载体验一下:

    内容大纲

    1. VS Code 的优势

    2. VS 和 VS Code 到底有什么关系?

    • 微软从 VS 组里面抽了一拨人做 VS Code,是真的吗?

    • VS 支持 Java ?背后的真相到底是怎样的?

    3. 你真的会用 VS Code 了吗?

    • VS Code Insiders 版本

    • 常用的配置项

    • 命令面板

    • 面包屑导航/大纲/缩略图

    • 主题

    • 快捷键

    • 集成终端

    4. 如何更好地学习 VS Code ?

    • 学会提问

    • 学会搜索

    • 学会学习

    5. 一起改进 VS Code,你也能成为 VS Code 的 Contributor

    6. VS Code 的核心组件

    • Electron

    • Monaco Editor

    • Language Server Protocol

    • Debug Adapter Protocol

    7. VS Code 怎么做开源的?

    8. 进阶

    • 命令行

    • 玩转 Git

    • 打造自己的主题

    • 快速创建属于你的 Code Snippet

    • 玩转 Tasks,把重复的工作自动化

    • 调试

    • 远程开发

    9. 插件

    • 插件管理

    • 好用的插件推荐

    • 你也可以开发一款属于你的插件

    一、VS Code 的优势

    • 开源

    • 跨平台

    • 轻量级

    • 智能提示

    • 代码调试

    • 内置Git支持

    • 多语言支持

    • 丰富的插件

    1.学习曲线

    2.用户体验(Terminal、调试器、版本控制、前端开发、扩展插件)

    3.开源(一切皆开源,不止代码开源)

    4.性能

    (1)比IDE和Atorm要快

    (2)与Vim和Sublime相比,略有差异

    (3)不断的性能优化(主要解决VsCode为什么越用越慢问题):

     a.插件进程与主进程的隔离

     b. 插件的延迟加载

     c.Text Buffer的优化,提升大文件和加载和编辑速度,减少内存使用率

    5.丰富的插件(10000+以上插件,编辑器插件管理方便)

    6.强大的生态

    (1)强大的组件生态

    a.Monaco Editor

    b.Languge Server Protocol

    c.Debug Adapter Protocol

    (2)Visual Studio Family

    a.Visual Studio Live Share:极大地方便了协作编程--实时共享编辑、跟随光标、团队调试、分享本地服务器、共享终端等等。

    b.Visual Studio IntelliCode:通过AI赋能,跟随上下文给出编程建议和智能提示,提高开发者的效率。

    二、 VS 和 VS Code 到底有什么关系?

    相当于Java和JavaScript的关系,看上去有关系,实际上半毛钱关系都没有,只是名字相似而已。

    三、 你真的会用 VS Code 了吗?

    1.VsCode Insider版本

    (1)每天获取最新版本的VsCode

    (2)与稳定版并存

    2.命令面板

    (1)快速列出所有命令

    (2)快捷键:Ctrl+Shift+P或F1

    3.常用的配置项

    (1)Windows/Linux 文件-首选项-设置

    (2)macOS Code-首选项-设置

    4.面包屑导航/大纲/缩略图

    5.主题

    • 文件->首选项->颜色主题

    • 文件->首选项->文件图标主题

    • 插件市场

    6.常用快捷键

    • Ctrl+P 文件跳转

    • Ctrl+Shift+Tab 在所有打开的文件中跳转

    • Ctrl+Shift+P 命令面板

    • Ctrl+Shift+O 跳转到文件中的Symbol

    • Ctrl+T 搜索所有的Symbols

    • Ctrl+G 跳转到某一行

    • Alt+<-/->向后/向前跳转

    怎么多命令怎么记得住?

    别怕,按照如下操作即可:

    点击帮助->键盘快捷方式参考

    7.集成终端

    打开集成终端:

    • 使用Ctrl+快捷键

    • 通过菜单栏 查看->终端

    • 通过命令面板(Ctrl+Shift+P),试图:切换集成终端

    四、如何更好地学习 VS Code ?

    1.学会搜索

    • VsCode官网(https://code.visualstudio.com/)

    • GitHub(https://github.com/microsoft/vscode)

    • Google/Bing

    • Stack Overflow(https://stackoverflow.com/)

    2.学会提问

    • Environment

    • Repro steps

    • Actual behavior

    • Expected behavior

    • Code sample

    • Screenshot

    上面所说的主要是关于如何提问,

    环境->步骤->实际情况->预期情况->代码->截图

    目的:只为将一个问题描述清楚,减少回答者回答问题的时间成本。

    3.学会学习

    • 寻求帮助前,要有自己的思考

    • 知其然知其所以然

    • 举一反三

    五、一起改进 VS Code,你也能成为 VS Code 的 Contributor

    • 提问

    • Issue

    • PRs

    • 插件

    • 翻译

    反馈渠道:

    • Bugs & feature request(Github Issue)

    • 提问 (Stack Overflow)

    • 讨论 (Gitter Chat Room/Slack)

    提问:

    • Stack Overflow

    • 使用标签

    • 好的问题也能帮助别人搜索到

    Issue:

    • Report bugs

    • Sumit feature request

    • Share you idea/feedback exising issues

    • 帮助翻译中文issue

    PRs:

    • PR指南

    • 哪些issue 可以发PR,有help-wanted或者bug标签的issue、在发PR之前,先于相关的开发负责人讨论

    六、VS Code 的核心组件

    1.Electron

    • GitHub地址(https://github.com/electron/electron)

    • 基于Node.js(作为后端)和Chromium(作为前端)

    • 使用HTML、CSS、JavaScript开发跨平台桌面GUI应用程序

    • 使用者:Atom,Skype、GitHub Desktop、Slack、Microsoft Teams

    2.Monaco Editor

    • GitHub地址(https://github.com/microsoft/monaco-editor)

    • 基于浏览器的代码编辑器:IntelliSense、代码验证、语法高亮、文件比较)

    • 支持主流浏览器:IE11、Edge、Chrome、Firefox、Safari和Opera

    • 使用者:Gitee Web IDE、Cloud Studio、Eclipse Che、Eclipse Theia、Azure DevOps、OneDrive、Edge Dev Tools

    3.Language Server Protocol

    • Github地址(https://github.com/microsoft/language-server-protocol)

    • 它是Editor/IDE 与语言服务器之间的一种协议,可以让不同的Editor/IDE 方便嵌入各种程序语言,允许开发人员在最喜爱的工具中使用各种语言来编写程序

    • 支持LSP的开发工具:Eclipse IDE、 Eclipse Theia、Atorm、Sublime Text、Emacs

    4.Debug Adapter Protocol

    • Github(https://github.com/microsoft/debug-adapter-protocol)

    • DAP与LSP的目的类似,DAP把Editor/IDE与不同语言的debugger解耦,极大地方便了Editor/IDE与其他Debugger的集成

    • 支持DAP的开发工具:Eclipse IDE、Eclipse Theia、Emacs、Vim

    七、VS Code 怎么做开源的?

    开源的三个阶段:

    公开源代码、Issues &PRs、Planning & Design

    1.开源的开发流程

    VsCode不仅仅把代码开源出来,而是把整个产品的开发过程建立于开源之上。

    • 每一年,VsCode团队都会在GitHub Wiki 发布Roadmap,列出一整年的规划图

    • 每个月初,在产品设计阶段,VsCode团队会在GitHub Issue上会发布Iteratioin Plan,列出这个月会做的每个功能,每一个功能基本会对应一个GitHub Issue,你可以看到详细的设计以及mockup

    2.开源的生态(以VsCode为例)

    • 文档(https://github.com/microsoft/vscode/wiki)

    • Monaco Editor(参考前面GitHub链接)

    • Language Server Protocol(参考前面GitHub链接)

    • Debug Adapter Protocol(参考前面GitHub链接)

    八、进阶

    1.命令行(支持命令行打开VsCode)

      命令行--高级选项(VsCode启动慢,查看插件内存使用情况)

    2.玩转Git

       玩转Git--合并冲突

    3.打造自己的主题--颜色配置

       可以自己编写颜色插件,也可以去插件市场上下载自己中意的插件。

    4.快速创建属于你的Code Snippet

    以我使用Idea为例,Idea中的Live Template与VsCode中的Code Snippet功能基本相同,都是将常用代码段抽取出来,通过自定义快捷键的方式调出来,减少重复编码,提高效率。

    5.玩转Task,把重复的工作自动化

    与WebStorm如图功能一样:

    根本目的就是将常用命令抽取出来,不需要自己手动输入

    6.调试--lauch.json

    7.远程开发

    Visual Studio Code Remote允许开发者将容器、远程计算机或Windows Subsystem for Linux 作为完整的开发环境。

    • 在部署环境相同的操作系统上进行开发,或者使用更大或更专业的硬件

    • 把开发环境作为沙箱,以避免影响本地计算机配置

    • 让新手轻松上手,让每个人都保持一致的开发环境

    • 使用原本在本地环境不可用的工具或运行时,或者管理它们的多个版本

    • 在WSL里开发Linux应用

    • 从多台不同的计算机访问现有的开发环境

    • 调试在其他位置(比如客户网站或云端)运行的应用程序

    九、插件

    1.插件管理

    a.web版插件市场

    b.内置插件管理

    c.命令行

    2.好用的插件推荐(根据需求可自行去插件市场下载安装使用)

    a.Settings Sync:轻松同步VsCode所有配置

    b.Code Runner:代码一键运行,支持超过40种语言

    c.GitLens:Git管理利器

    d.REST Client:也许是比Postman更好的选择

    e.Bracket Pair Colorizer:括号颜色高亮

    f.Browser Preview:把Chrome浏览器带入VsCode中

    g.LeetCode:Offer收割利器

    h.Visual Studio Live Share:极大地方便了协作编程--实时共享代码编辑、跟随光标、团队调试、分享本地服务、共享终端等

    i.Remote Development:基于SSH、Container或者WSL进行远程开发

    3.Visual Studio Code插件开发

    • 设计

    • 实现

    • 推广

    • 维护

    从设计->实现->推广->维护,仔细想来与我们平常开发自己的软件或者是公司的商业软件,套路基本上都是相似的。

      a.怎样获取灵感?

         从自身需求出发

         Auto Close Tag:GitHub Issue

         其它编辑器/IDE的热门插件

      b.确定目标用户

       Code Runner(例子,CodeRunner插件可使用40种编程语言):

    • 初学者

    • "懒人"

    • 多语言用户

     4.有用资源

     a.VsCode插件开发

    (https://code.visualstudio.com/api/get-started/your-first-extension)

     b.VsCode插件样例

    (https://github.com/developers-youcong/vscode-extension-dev)

     c.我开发的插件

    (https://github.com/developers-youcong/youcongtech-blog)

    5.开发环境

    (1)Visual Studio Code

    (2)Node.js

    (3)Yeoman And VsCode Extension generator

    (4)npm install -yo generator-code

    a.VsCode界面功能扩展--Workbench

      Tree View Container

      Tree View

      WebView

      Status Bar Item

    b.VsCode界面功能扩展--Editor area

      CodeLens

      Decoration

      Gutter

      Hover

      Context Menu

    6.推广渠道

    • Stack Overflow、GitHub、Twitter、FaceBook、Google Plus、LinkedIn

    • 博客:V2ex、知乎、微信公众号、开源中国、微博、CSDN

    7.数据驱动

      • 下载量、月活、日活

      • 用户的使用行为

      • 优先级

      • Fail fast

  • 相关阅读:
    异步请求 ajax的使用详解
    关于JAVA-JS-JSP之间传值的各种方法
    C# 对List<T>取交集、连集及差集
    MVC解决方案发布IIS 登录页面需要输入两次帐号问题
    sqlserver查看被锁表、解锁
    C#中using关键字的作用及用法
    Bootstrap组件On和Off语法
    HtmlString类创建HTML Hepler 扩展MVC TextBox组件
    Js运算符优先级
    ajax调用webservice(二) 跨域。
  • 原文地址:https://www.cnblogs.com/youcong/p/12935994.html
Copyright © 2020-2023  润新知