VSCode:Centralized Animation Frame Scheduling.
简介 今天介绍一个VSCode源码中一个简单且小巧的功能。在此之前我先简单介绍一下requestAnimationFrame这个原生API。 requestAnimationFrame API 工作原理 requestAnimationFrame 会将提供的回调函数放入队列,并在下一次浏览器重绘前调用该函数。与传统的 setTimeout 不同,requestAnimationFrame...
简介 今天介绍一个VSCode源码中一个简单且小巧的功能。在此之前我先简单介绍一下requestAnimationFrame这个原生API。 requestAnimationFrame API 工作原理 requestAnimationFrame 会将提供的回调函数放入队列,并在下一次浏览器重绘前调用该函数。与传统的 setTimeout 不同,requestAnimationFrame...
背景介绍 一个软件中,「右键菜单」是非常平凡的一个操作: 你需要编辑一个文件/文件夹,你就右键它弹出针对文件树的文件/文件夹内容的「右键菜单」。 你需要编辑一段文字,你选中并右键它,会弹出一个针对文本内容的「右键菜单」。 你需要编辑一个xxx,你就右键它,会弹出一个针对xxx内容的「右键菜单」。 … 一个软件内部,针对不同的「右键对象」,会弹出不同的「右键菜单」。...
IJSONSchema 接口 参考 JSON Schema 官方网站 IJSONSchema 是 Visual Studio Code 中用于描述 JSON 数据格式的标准接口。它提供了一套规则来约束 JSON 数据的结构和内容。可以将 schema 理解为一组约束 JSON 数据格式的规则,这些规则被用于定义和验证传入的 JSON 数据是否符合预期格式。以下是一个简单的示例。 ...
配置系统 - Configuration System 丑话说前面, 整个配置系统, 我私认为属于VSCode众多大系统中top10甚至top5的复杂系统了. 业务本身复杂繁琐,代码量也很多,有些部分代码我自己没有chatGPT4.0的帮忙的话,读起来够呛。 在我读了基本框架之后, 感觉这个系统是随着项目开发, 一步一步添加新的功能, 最终成为了现在这个样子. 很多地方的...
What is Electron Electron is an open-source framework that allows developers to create cross-platform desktop applications using web technologies like JavaScript, HTML, and CSS. It achieve...
What is a Microservice? Microservice-driven architecture, or simply microservices, is an architectural style that structures an application as a collection of loosely coupled services. Each ...
Background In the context of a large-scale software application, determining the method of communication across different components is extremely crucial. As a result, VSCode’s team choose Event-Dr...
Background JavaScript utilizes Garbage Collection (GC) to manage memory. As a result, we don’t have direct control over resource management—we can’t tell when a resource is actually released once ...