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

用Origin快速拟合荧光寿命、PL Decay (TRPL)数据分析处理

用Origin快速拟合荧光寿命、PL Decay (TRPL)数据分析处理

A20802013的博客 2万+

【实战解析】RTL8306MB交换芯片驱动开发中的RMII接口调试陷阱

本文深入剖析了RTL8306MB交换芯片驱动开发中RMII接口的典型调试陷阱。通过一个工业网关项目的实战案例,揭示了因硬件原理图设计疏忽导致TX_EN与CRS_DV信号线错接,从而引发网络“哑火”的根本原因。文章详细展示了使用示波器从时钟、数据到控制信号的系统性排查方法,并总结了关键的设计警示与自查清单,为嵌入式网络开发中的软硬件协同调试提供了宝贵经验。

qqq44的博客 1021

告别版本冲突!在Ubuntu 20.04上优雅实现ROS Noetic与ROS2 Foxy双环境切换

本文详细介绍了在Ubuntu 20.04系统上实现ROS Noetic(ROS1)与ROS2 Foxy双环境共存与切换的完整方案。通过智能脚本设计和工作空间隔离,解决了版本冲突问题,帮助开发者高效管理不同ROS版本项目。特别适合需要同时开发ROS1和ROS2应用的机器人开发者。

weixin_28452161的博客 401

零信任架构实战:“持续验证+动态授权”全流程解析(附策略引擎联动图)

《零信任实战指南:7图拆解核心流程与行业案例》摘要:本文通过7张架构图系统解析零信任五大核心流程:强身份认证、设备检查、动态授权、持续监控和自动降权。对比金融(重数据审计)与制造业(重物理绑定)的落地差异,指出三大常见误区及解决方案。数据显示,零信任可使安全响应提速60%,泄露成本降低45%。文章提供6个月实施路线图,强调零信任是"智能信任"体系,建议企业分阶段改造,优先保护核心系统。附赠金融/制造行业策略模板及甘特图示例。(149字)

sara_han的博客 764

SAP FICO - 外币交易实战:汇率类型配置与货币换算率管理

月底关账前的外币评估就像财务人的"期末考",OB59配置就是你的备考方案。最低值原则(Lowest value principle)最保守。它会比较原始汇率与评估日汇率,取不利方向确认损失。适合风险厌恶型企业,我在制造业客户中应用最多。重估法(Revalue only)更反映市场现状。无论盈亏都按最新汇率调整,适合交易性金融资产处理。有个基金公司客户就靠这个方法及时反映了外汇波动收益。最小差异金额(Minimum difference)是防骚扰设置。

weixin_42524708的博客 351

Altium Designer应用技巧5: Altium Live账号的获得

为了更好的应用Altium Designer,我们需要得到一个Altium Live账号,但从其英文或者中文官方网站取得,都需要7个工作日的时间,而且对于个人用户来说,并不是100%都能够获取到。本文介绍一种,从俄罗斯Altium官方网站获取账号的方法,可以立即使用。     1、点击http://live.altium-ru.com/#Join网址进入俄罗斯Altium官方网站,Altiu

snmplink的博客 1万+

STM32声源定位:实现声源定位的嵌入式解决方案

通过以上代码,我们可以获取麦克风音频信号样本,并使用交叉相关法计算声源的位置。然而,我可以帮助您解答有关STM32声源定位的问题,提供相关的代码和指导。获取了麦克风音频信号后,我们可以使用信号处理算法来计算声源的位置。该算法通过计算不同麦克风之间的信号延迟来确定声源的方向。首先,我们需要获取每个麦克风的音频信号。声源定位是一项重要的技术,可以帮助我们确定声音的来源位置。在嵌入式系统中,使用STM32微控制器可以实现精确的声源定位。声源定位的基本原理是通过多个麦克风阵列接收到的声音信号来计算声源的位置。

UplKubernetes的博客 2579

【异常】安装OpenClaw遇到 Windows环境pnpm安装node-llama-cpp postinstall生命周期脚本执行失败完整解决方案

摘要: Windows环境下使用pnpm安装node-llama-cpp时,postinstall脚本执行失败(错误码3221225477),主要因缺少C++编译工具链或预构建二进制下载失败。解决方案: 基础排查:确保管理员权限、Node.js ≥18、路径无中文; 安装编译工具:推荐Visual Studio的“C++桌面开发”组件或windows-build-tools; 环境变量配置:强制CPU模式+国内镜像(NODE_LLAMA_CPP_FORCE_CPU=true,镜像地址替换为国内源); pnp

奶爸的编程之路,也就一周冷个三天 601

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

efm32 入门.pdf

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

上一篇: 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、付费专栏及课程。

余额充值