vscode server源码解析(二)- 架构分析

vscode server源码解析(一) - code server介绍 code server作为成熟的远程开发解决方案之一,进一步拓展就可以架构Cloud IDE解决方案,本文带你了解一下这项产品 阅读详情

code server基于vscode,提供了一套webide的解决方案,使得开发可以连接到远程机器直接编码调试,具体可以参考code server介绍

我将通过一系列文档完整地从技术层面对code server进行分析
在进行源码分析前,本篇博文里面,我们首先说明一下整体架构,这样也能让我们更好地理解源码

架构图

行吧,我先直接上架构图
在这里插入图片描述

这里我们以每个主体作为划分去说明,这个架构图里面包括了4个重要的实体
1.code server,即我们的后台,是一个基于express框架的轻量级服务器
2.浏览器,即我们的前台,和用户交互
3.ide内核,也就是vscode,只不过是server形态的
4.插件进程,和ide窗口一一对应,提供强大的扩展能力

Code Server

当运维管理员在远程机器上安装好code server后,他就可以使用下面的命令启动code server了
–host 0.0.0.0,代表本机外的机器能访问,否则你是无法直接访问的,因为你的win或者mac和你的linux是两台独立的机器
–port 代表服务占用的端口,之后我们访问也是这个端口,用一个不太会与其他服务冲突的端口即可
这样,code sever使得vscode ide可以被当作一个服务一样提供出去,具备了server部署能力

./code-server 
VSCode架构解析 VS Code 采用多进程架构和面向服务的设计,将功能模块化为独立服务,通过清晰接口实现高效协作。核心架构包括主进程(管理应用生命周期)、渲染进程(呈现用户界面)、扩展主机进程(运行扩展)和外部进程(如语言服务器)。代码库组织清晰,主源码、工作台、编辑器等模块分工明确。其强大扩展能力基于丰富插件生态系统,通过标准协议(如LSP、DAP)实现与外部工具集成,满足多样化开发需求。这种架构设计保障了性能、稳定性与高度可扩展性。 阅读详情

相关推荐

VSCode 基本使用

一、VSCode 界面功能介绍 1. Git History,相当于 git log 3. 打开上一提交版本的更改记录 4. 显示提交注释 5. 向右分屏 6. 直接定位到第几行 7. 解析当前文件的语言 8. 切换项目(基于 Project Manager) 9. 切换分支 10. GitLens,可以查看文件和单行代码的修改记录 二、常用快捷键 1. Comman.........

huangpb的博客 5万+

playwright vscode 插件源码解析

通过查看playwright vscode插件源代码来理解该插件实现原理

qiaotl的博客 1796

VSCode Java开发环境四层架构与工程化配置指南

Java开发环境本质上是运行时(JDK)、构建工具(Maven/Gradle)、语言服务器(JLS)和调试协议(DAP)四层协同的系统工程。理解各层职责与版本对齐逻辑,是解决断点失效、Lombok不生效、中文乱码等高频问题的关键。VSCode作为可编程工作台,其Java支持依赖插件桥接标准协议,而非IDE黑盒封装,因此配置核心在于显式声明组件边界与依赖链。本文聚焦Java Extension Pack底层机制,结合JDK版本管理、Maven外部化配置、JLS性能调优及团队级.vscode标准化实践,提供稳定

weixin_34290096的博客 531

【kernel】——VScode clangd 插件浏览 linux 源码

VScode clangd 插件浏览代码却决于文件生成该文件有很多种方法这里只介绍 bear 和 linux 内核脚本。

tyustli 2868

PSCAD学习笔记(1)Project Settings(重点snapshot设置)

若不勾选,则横坐标为实际时间2-7s,故障显示在第3s发生。图片中时间坐标轴显示为0-5s,故障时刻显示为第1s,即0-1s展示系统稳态,1-5s展示系统发生故障后的暂态响应,如何通过快照文件实现?勾选该项后,使用快照文件启动仿真会将仿真起始时间强制设置为0s,反之不勾选则依据快照文件保存的时间轴继续(即坐标为实际时间)。如果已有的快照文件保存的是0s至5s的仿真内容,则仿真运行时间从5s开始,到10s结束。如果已有的快照文件保存的是0s至2s的仿真内容,则仿真运行时间从2s开始,到7s结束;

gwenh的博客 7336

AGV路径规划实战:如何用Python+ROS实现激光SLAM导航(附避障代码)

本文提供了一份基于Python和ROS实现AGV激光SLAM导航的实战指南。内容涵盖从Docker环境搭建、激光雷达数据处理、Gmapping建图,到Move_Base全局/局部路径规划与TEB局部规划器配置的全流程。重点解析了如何通过参数调优实现稳定导航,并附带了紧急避障代码,帮助开发者快速构建具备自主路径规划与实时避障能力的AGV系统。

pepsi的博客 1229

基于CatBoost回归模型的完整预测分析:从建模到SHAP可解释性分析

本文介绍了使用CatBoost回归模型进行完整预测分析的流程。首先导入必要的Python库并加载数据,进行数据预处理包括训练测试集划分和归一化处理。然后通过网格搜索优化CatBoost超参数,使用最优参数训练模型并评估预测性能。结果显示模型具有较高的决定系数(R²=0.9944)和较低的误差指标(RMSE=0.0696)。接着进行残差分析和正态性检验,发现残差基本服从正态分布。最后通过SHAP分析实现模型可解释性,识别关键特征影响。该方法为梯度提升树在回归问题中的应用提供了完整解决方案。

fx666_的博客 738

HBuilderX结合Android Studio实现Uniapp安卓Apk高效离线打包指南

本文提供了一份详细的Uniapp安卓Apk离线打包实战指南。通过整合HBuilderX与Android Studio,手把手教你搭建本地编译环境、配置原生工程、执行核心打包流程,并分享快速更新资源和排查常见问题的技巧,助你彻底摆脱云端打包的排队依赖,实现高效、可控的应用构建。

weixin_28835551的博客 547

k8s篇之underlay网络和overlay区别

underlay和overlay

小橙子的笔记屋 2137

从“能跑”到“好用”:一名 Python 开发者的工程化进阶之路【Python心得篇】

Python 早已不只是写脚本、跑数据的工具。后端服务AI Agent 编排层自动化平台核心语言数据与业务之间的“中枢层”区别只在于:你是用脚本方式,还是工程方式在写。如果你已经能写“能跑的 Python”,下一步,就是让它长期可跑、稳定可演进。Python 的真正价值不在于“写得快”,而在于能否支撑持续演进的工程实践。当代码从一次性脚本走向长期运行的系统,开发者必须从结构设计、职责拆分、性能意识和类型约束等方面进行系统性思考。

博客 1540

基于 STM32 的智能水表流量计设计与实现 —— 数据采集与远程传输

本文设计的基于 STM32 的智能水表流量计通过霍尔传感器实现流量采集,结合 STM32 的处理能力完成数据计算、存储与远程传输,具备计量精准、功耗低、可远程监控等特点。未来可优化方向:引入低功耗模式延长电池寿命,增加水质检测模块实现多参数监测,提升水务管理智能化水平。

weixin_42300449的博客 1018

GFPS技术原理(一)-简介

GFPS(谷歌快速配对服务)利用BLE技术简化设备配对流程,相比传统方式大幅提升用户体验。首次配对时,设备广播包含型号ID和安全密钥的BLE信号,手机检测后弹出配对通知,用户点击即可完成安全连接并将设备与Google账户绑定。该技术支持跨设备同步、电量显示、找回设备等功能,后续配对更加便捷。GFPS通过BLE实现快速发现、一键配对和安全连接,结合Google后端服务提供元数据支持,已成为出海设备的认证标准。其核心优势在于简化操作步骤并增强功能性,特别适合非技术用户群体。

十多年蓝牙协议软件开发,擅长蓝牙协议分析 2052

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: vscode server源码解析(一) - code server介绍
下一篇: vscode server源码解析(三) - code server
朱敢松
博客等级 码龄7年 152粉丝 16原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值