VsCode/Cursor workbench.desktop.main.js 的入口

这个也是main函数开始的,下面就是最后一行代码,表示export出rSo 函数作为它的名字公开为main, 和dll export表有点像了。

	export {rSo as main}; 

其中rSO是

function rSo(i) {return new nSo(i).open()
}

nSO是一个类,应该是就是workbenchMain了。

var nSo = class extends V {constructor(i) {super(), this.a = i, this.b()}b() {this.c(), fle(!!this.a.fullscreen, _t)}c() {const i = YCn(this.a.workspace);(oN(i) || mC(i)) && (this.a.workspace = i);const e = this.a.filesToWait,t = e ? .paths;for (const s of [t, this.a.filesToOpenOrCreate, this.a.filesToDiff, this.a.filesToMerge])if (Array.isArray(s))for (const n of s) n.fileUri && (n.fileUri = W.revive(n.fileUri));e && (e.waitMarkerFileUri = W.revive(e.waitMarkerFileUri))}async open() {const [i] = await Promise.all([this.j(), H0n(_t)]);this.f(i.configurationService);const e = new T0o(_t.document.body, {extraClasses: this.g()}, i.serviceCollection, i.logService);this.h(e, i.storageService);const t = e.startup();this.D(t.createInstance(dCt))}f(i) {let e;if (this.a.isCustomZoomLevel && typeof this.a.zoomLevel == "number") e = this.a.zoomLevel;else {const t = i.getValue();e = typeof t.window ? .zoomLevel == "number" ? t.window.zoomLevel : 0}rxe(e, _t)}g() {return Bt && LRi(this.a.os.release) ? ["macos-bigsur-or-newer"] : []}h(i, e) {this.D(i.onWillShutdown(t => t.join(e.close(), {id: "join.closeStorage",label: f(12421, null)}))), this.D(i.onDidShutdown(() => this.dispose()))}async j() {const i = new Da,e = this.D(new VCo(this.a.windowId));i.set(mI, e);const t = this.a.policiesData ? new YCo(this.a.policiesData, e.getChannel("policy")) : new Esn;i.set(ksn, t);const s = {_serviceBrand: void 0,...ao};i.set(os, s);const n = new Gf(this.a, s);i.set(Vl, n);const r = [...this.a.loggers.global.map(D => ({ ...D,resource: W.revive(D.resource)})), ...this.a.loggers.window.map(D => ({ ...D,resource: W.revive(D.resource),hidden: !0}))],o = new Pho(this.a.windowId, this.a.logLevel, n.windowLogsPath, r, e.getChannel("logger"));i.set(Ip, o);const a = this.D(new jCo(o, n));i.set(Ft, a), av && a.info("workbench#open()"), a.getLevel() === Un.Trace && a.trace("workbench#open(): with configuration", Nze({ ...this.a,nls: void 0}));const l = new KCi(this.a.windowId, a);i.set(f5, l);const c = new FCi(this.a.windowId, a, e);i.set(gsn, c);const u = JE.toService(e.getChannel("sign"));i.set(bCt, u);const h = this.D(new tSi(a));i.set(yt, h);const d = new YCi(s, new rSi(n.window.id, e, h));i.set(Ym, d);const g = this.D(new GCo(e, c, a, o));h.registerProvider(me.file, g);const p = new yCt(h);i.set(bs, p);const m = new c8s(this.a.profiles.all, W.revive(this.a.profiles.home).with({scheme: n.userRoamingDataHome.scheme}), e.getChannel("userDataProfiles"));i.set(_a, m);const v = new XCo(Fk(this.a.profiles.profile, m.profilesHome.scheme));i.set(Pl, v), h.registerProvider(me.vscodeUserData, this.D(new KCo(me.file, g, me.vscodeUserData, m, p, a)));const y = new zIr;y.register(0, new tSo(null)), i.set(Vye, y);const w = this.D(new QCi(y, v, n, s, d, u, a));i.set(Ia, w), this.D(FCo.register(w, h, a));const C = this.m(n),[S, x] = await Promise.all([this.n(C, n, v, m, h, w, p, a, t).then(D => (i.set(Dt, D), i.set(rI, D), D)), this.q(C, n, v, m, e).then(D => (i.set(ft, D), D)), this.r(e).then(D => (i.set(_sn, D), D))]),k = new T9t(S, n);i.set(z3, k);const I = new P9t(S, d, x, p, n, S, k, h);return i.set(Dd, I), S.updateWorkspaceTrust(I.isWorkspaceTrusted()), this.D(I.onDidChangeTrust(() => S.updateWorkspaceTrust(I.isWorkspaceTrusted()))), {serviceCollection: i,logService: a,storageService: x,configurationService: S}}m(i) {return this.a.workspace ? this.a.workspace : NS(this.a.backupPath, i.isExtensionDevelopment)}async n(i, e, t, s, n, r, o, a, l) {const c = new OCo([me.file, me.vscodeUserData], e, n),u = new SCo({remoteAuthority: e.remoteAuthority,configurationCache: c}, e, t, s, n, r, o, a, l);try {return await u.initialize(i), u} catch (h) {return ls(h), u}}async q(i, e, t, s, n) {const r = new ECo(i, t, s, n, e);try {return await r.initialize(), r} catch (o) {return ls(o), r}}async r(i) {const e = new nSi(i);try {return await e.initialize(), e} catch (t) {return ls(t), e}}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/28901.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论坛社区基础版【项目测试报告】

文章目录 一、项目背景二、项目功能用户注册/登录帖子列表页发布帖子个人中心 三、测试工具和环境四、测试计划非功能测试用例功能测试用例部分人工手动测试截图web自动化测试测试用例代码框架 配置内容代码文件(Utils.py)注册页面代码文件(R…

物联网IoT系列之MQTT协议基础知识

文章目录 物联网IoT系列之MQTT协议基础知识物联网IoT是什么?什么是MQTT?为什么说MQTT是适用于物联网的协议?MQTT工作原理核心组件核心机制 MQTT工作流程1. 建立连接2. 发布和订阅3. 消息确认4. 断开连接 MQTT工作流程图MQTT在物联网中的应用 …

如何面向DeepSeek编程,打造游戏开发工具集,提升工作效率

最近我在思考: 如何基于DeepSeek,来提升工作效率,构建高效游戏开发工作流。 方向有两个: A: 基于DeepSeek私有代码框架,让它完成项目代码的续写; B: 基于DeepSeek来创作一些工具,使用工具来提升效率,如…

云原生机密计算:构建基于可信执行环境的数据安全堡垒

引言&#xff1a;数据计算的最后一道防线 蚂蚁集团金融级机密计算平台承载日均20亿次敏感交易&#xff0c;密钥泄露风险降低99.97%。微软Azure DCsv3系列虚拟机实现SGX全内存加密性能损耗<15%&#xff0c;Google Anthos Confidential将跨云数据传输成本压缩45%。Gartner预测…

通用文件模型

一、通用文件模型 通常一个完整的Linux系统有数千到数百万个文件组成&#xff0c;文件中存储了程序、数据和各种信息。层次化的目录结构用于对文件进行编排和分组。 1.ReiserFS(新型的文件系统) -->Reiser4 它通过一种与众不同的方式----完全平衡树来容纳数据&#xff0c;包…

产品管理过程-思维导图

产品管理过程 1. 市场调研 与用户交流与直接面对客户的一线同事如销售、客服、技术支持等交流市场研究报告分析竞争对手分析用户数据分析 2. 需求管理 需求来源管理 市场需求内部需求运营需求战略需求其它需求 需求版本管理 需求分配管理 需求跟踪管理 3. 产品规划 市…

EtherNet/IP转Modbus解析基于网关模块的罗克韦尔PLC与Modbus上位机协议转换通讯案例

在工业自动化控制系统中&#xff0c;常常会遇到不同品牌和通信协议的设备需要协同工作的情况。本案例中&#xff0c;客户现场采用了 AB PLC&#xff0c;但需要控制的变频器仅支持 Modbus 协议。为了实现 AB PLC 对变频器的有效控制与监控&#xff0c;引入了捷米特 JM-EIP-RTU 网…

【进程和线程】(面试高频考点)

【进程和线程】 前言 在计算机编程领域&#xff0c;并发编程是一项至关重要的技术&#xff0c;而进程和线程正是实现并发编程的核心概念。为了让大家更直观地理解并发编程的作用&#xff0c;我们先来看一个简单的生活例子。 想象一下&#xff0c;现在有一大份美味的饭菜&…

HTML 编辑器推荐与 VS Code 使用教程

在进行 HTML 编程时&#xff0c;选择一款合适的 HTML 编辑器能极大地提高开发效率。以下为大家推荐几款常用且功能强大的 HTML 编辑器&#xff0c;同时详细介绍如何使用 VS Code 创建和预览 HTML 文件。 一、HTML 编辑器推荐 VS Code&#xff1a;由微软开发&#xff0c;是一款…

Kubernetes开发环境minikube | 开发部署apache tomcat web集群应用

minikube是一个主要用于开发与测试Kubernetes应用的运行环境&#xff0c;本文主要描述在minikube运行环境中部署J2EE tomcat web应用。 单节点Node多Pod实例部署 如上所示&#xff0c;在minikube运行的Linux部署环境中启动单节点Node 如上所示&#xff0c;在minikube的容器环境…

STM32---FreeRTOS中断管理试验

一、实验 实验目的&#xff1a;学会使用FreeRTOS的中断管理 创建两个定时器&#xff0c;一个优先级为4&#xff0c;另一个优先级为6&#xff1b;注意&#xff1a;系统所管理的优先级范围 &#xff1a;5~15 现象&#xff1a;两个定时器每1s&#xff0c;打印一段字符串&#x…

永磁直驱式风力发电虚拟同步机仿真模型Matlab/Simulink模型

很久没有分享虚拟同步机控制相关的方向了&#xff0c;毕业后在电科院的项目又有所接触。这个课题方向其实作为硕士毕业课题还是够用的&#xff0c;相对来说也是比较容易毕业的&#xff0c;因为涉及的分支比较多。 后续对虚拟同步机的控制&#xff0c;我就延续我前面博客提到的方…

图像分类项目1:基于卷积神经网络的动物图像分类

1、选题背景及动机 在现代社会中&#xff0c;图像分类是计算机视觉领域的一个重要任务。动物图像分类具有广泛的应用&#xff0c;例如生态学研究、动物保护、农业监测等。通过对动物图像进行自动分类&#xff0c;可以帮助人们更好地了解动物种类、数量和分布情况&#xff0c;从…

Vue 3 整合 WangEditor 富文本编辑器:从基础到高级实践

本文将详细介绍如何在 Vue 3 项目中集成 WangEditor 富文本编辑器&#xff0c;实现图文混排、自定义扩展等高阶功能。 一、为什么选择 WangEditor&#xff1f; 作为国内流行的开源富文本编辑器&#xff0c;WangEditor 具有以下优势&#xff1a; 轻量高效&#xff1a;压缩后仅…

Ansys Zemax | 使用衍射光学器件模拟增强现实 (AR) 系统的出瞳扩展器 (EPE):第 4 部分

附件下载 联系工作人员获取附件 在 OpticStudio 中使用 RCWA 工具为增强现实&#xff08;AR&#xff09;系统设置出瞳扩展器&#xff08;EPE&#xff09;的示例中&#xff0c;首先解释了k空间中光栅的规划&#xff0c;并详细讨论了设置每个光栅的步骤。 介绍 本文是该四篇文…

CMake学习笔记(一):工程的新建和如何将源文件生成二进制文件

cmake是我们在工作过程中比较常见的一个工具&#xff0c;该系列文章是自己用来学习的笔记。目前只是记录下自己学习cmake的过程中的一些重要的知识点&#xff0c;其是以项目需求为导向并非完整的cmake的学习路线和系统&#xff0c;同样也并非适合所有的人。 1.生成一个可执行文…

libcoap在Ubuntu下的编译(基于CMake)

引言 libcoap 是一个开源的轻量级 C 语言库&#xff0c;用于实现 CoAP&#xff08;Constrained Application Protocol&#xff0c;受限应用协议&#xff09;。CoAP 是一种专为资源受限设备设计的轻量级通信协议&#xff0c;适用于物联网&#xff08;IoT&#xff09;和嵌入式系…

Docker新手入门(持续更新中)

一、定义 快速构建、运行、管理应用的工具。 Docker可以帮助我们下载应用镜像&#xff0c;创建并运行镜像的容器&#xff0c;从而快速部署应用。 所谓镜像&#xff0c;就是将应用所需的函数库、依赖、配置等应用一起打包得到的。 所谓容器&#xff0c;为每个镜像的应用进程创建…

蓝桥杯C组真题——巧克力

题目如下 思路 代码及解析如下 谢谢观看

SLAM评估工具安装及使用EVO(Ubuntu20.04安装evo)--缺少 onnx 库还有Pandas 版本不兼容解决

介绍一下我的是ubuntu20.04.机载电脑是orinnx&#xff0c;通过源码烧写的系统。 首先打开终端&#xff0c;输入 pip install evo --upgrade --no-binary evo 安装过程中出现如下问题 缺少 onnx 库还有Pandas 版本不兼容&#xff0c; ONNX&#xff08;Open Neural Network E…