2023-07-17 11:35:40 +08:00
|
|
|
|
# 简介
|
2022-07-28 16:50:45 +08:00
|
|
|
|
|
2023-07-17 11:35:40 +08:00
|
|
|
|
    kylin-code fork 自微软Visual Studio Code(VSCode)开源项目 [Code OSS](https://github.com/microsoft/vscode) ,默认接入 [OpenVSX](https://open-vsx.org/) 插件市场。致力于为 openKylin 社区提供集程序编辑、编译、调试、发布、性能分析等全套开发流程的编程环境,后续将支持C、C++、Java、Go多种等编程语言,以满足 openKylin 平台上的软件开发需求。
|
|
|
|
|
|
|
|
|
|
- 为什么基于Code-OSS
|
|
|
|
|
|
|
|
|
|
VSCode有多个版本,从微软网站下载的二进制版本称之为vscode;从github网站下载源码后用户自行编译生成的二进制版本称之为code-oss。Code-OSS是VSCode的开源版本,遵循MIT协议。根据stackoverflow网站统计,VSCode持续多年在集成开发环境IDE领域排名第一,成为最受欢迎的IDE。VSCode采用插件架构,插件丰富,社区活跃度高。在比较了多个IDE开源软件后,我们决定基于Code-OSS进行二次开发、定制插件,为openKylin用户开发软件提供支持。
|
|
|
|
|
|
|
|
|
|
- 已有VSCode、VSCodium,为什么不直接拿来用
|
|
|
|
|
|
|
|
|
|
这是很多人感到疑惑的问题。如果VSCode、VSCodium能满足所有需求,可以直接使用VSCode或VSCodium;但由于以下原因,我们还是决定基于Code-OSS来做定制开发。
|
|
|
|
|
* 第一,VSCode协议限制较大。从微软网站下载的VSCode二进制发行版软件并非完全开源,它所使用的部分插件也不是开源软件,例如常用的C/C++支持插件、remote-ssh插件等。
|
|
|
|
|
* 第二,我们希望支持更多的国产平台,VSCode和VSCodium仅支持X86和ARM平台,LoongArch、申威等国产平台需自行支持,重新编译构建Code-OSS则不可避免。
|
|
|
|
|
* 第三,面向国产操作系统,我们有增加、改造、定制功能的需要,仅依靠VSCodium无法满足需要,需要对源码进行改造。例如为常用操作增加工具栏;从OpenVSX开源插件市场中检索到我们针对国产系统适配、改造的插件等。
|
|
|
|
|
|
|
|
|
|
- 为什么不使用最新版本
|
|
|
|
|
|
|
|
|
|
目前版本基于Code-OSS1.68.0版本进行改造,之所以不使用最新版本,主要基于以下原因。
|
|
|
|
|
* 第一,Code-OSS代码迭代较快,通常2周发布一个版本,紧跟Code-OSS版本不太现实。
|
|
|
|
|
* 第二,我们希望在多个国产平台上保持版本基本一致,Code-OSS依赖的Electron移植适配工作量较大,特别是LoongArch等国产平台,需要基于现有Electron版本或投入大量精力移植适配某个版本。
|
|
|
|
|
* 第三,为用户在openKylin等国产操作系统上开发软件提供一个稳定好用的IDE是我们所要追求的目标。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 开发、改造、适配的插件汇总
|
|
|
|
|
|
|
|
|
|
我们开发、改造、适配的插件汇总在[extensions-repo](https://gitee.com/openkylin/extensions-repo) 仓库中。
|
|
|
|
|
|
|
|
|
|
- 帮助文档
|
|
|
|
|
* 帮助文档参考:https://gitee.com/openkylin/extensions-repo/blob/master/user-guide/%E7%9B%AE%E5%BD%95.md
|
|
|
|
|
|
|
|
|
|
- 欢迎加入Framework SIG组,一起思考、推进国产IDE的发展
|
|
|
|
|
1. 在相关仓库反馈issues,[仓库列表](https://gitee.com/openkylin/community/tree/master/sig/framework#repository)
|
|
|
|
|
2. 参与开发:您可以直接在我们的[仓库列表](https://gitee.com/openkylin/community/tree/master/sig/framework#repository)中 fork 自己的感兴趣的项目,提交pr。
|
|
|
|
|
3. 成为 Maintainer:您可以直接向目前的任何一个[Maintainer](https://gitee.com/openkylin/community/tree/master/sig/framework#maintainers)提出申请,在获得超过半数的 Maintainer 的支持之后,我们正式吸纳您成为 Framework SIG 的 Maintainer。
|
|
|
|
|
|
|
|
|
|
# 构建步骤
|
2022-07-28 16:50:45 +08:00
|
|
|
|
|
|
|
|
|
1. 下载源码:
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-07-28 17:03:06 +08:00
|
|
|
|
git clone https://gitee.com/openkylin/kylin-code.git
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-07-28 16:50:45 +08:00
|
|
|
|
2. 安装指定版本nodejs:
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-06-14 18:11:52 +08:00
|
|
|
|
版本要求:>=16.14.x and <17
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-06-14 18:11:52 +08:00
|
|
|
|
获取地址:https://nodejs.org/dist/
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-07-28 16:50:45 +08:00
|
|
|
|
3. 安装yarn
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-06-14 18:11:52 +08:00
|
|
|
|
yarn有版本要求,如果未安装或提示版本不符。可以安装1.17.0
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-06-14 18:11:52 +08:00
|
|
|
|
卸载yarn:
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-06-14 18:11:52 +08:00
|
|
|
|
npm uninstall yarn --global
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-06-14 18:11:52 +08:00
|
|
|
|
安装:
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-06-14 18:11:52 +08:00
|
|
|
|
npm install --global yarn@1.17.0
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-07-28 16:50:45 +08:00
|
|
|
|
4. C/C++ compiler tool chain
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-07-28 17:03:06 +08:00
|
|
|
|
sudo apt-get update
|
|
|
|
|
sudo apt-get install build-essential g++ libx11-dev libxkbfile-dev libsecret-1-dev
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-07-28 17:03:06 +08:00
|
|
|
|
5. npm/yarn 设置
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-06-14 18:11:52 +08:00
|
|
|
|
设置淘宝镜像(解决下载electron慢的问题)
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-06-14 18:11:52 +08:00
|
|
|
|
yarn config set registry http://registry.npm.taobao.org/
|
|
|
|
|
npm config set registry https://registry.npm.taobao.org
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-07-28 17:03:06 +08:00
|
|
|
|
在项目根目录新建文件.npmrc, 在其中添加 (注意,在.npmrc中必须小写,在环境变量中是大写)
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-06-14 18:11:52 +08:00
|
|
|
|
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
|
|
|
|
|
registry=https://registry.npm.taobao.org
|
|
|
|
|
electron_mirror=https://npm.taobao.org/mirrors/electron/
|
|
|
|
|
|
2022-07-28 16:50:45 +08:00
|
|
|
|
6. 安装依赖
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-07-28 17:03:06 +08:00
|
|
|
|
cd kylin-code
|
|
|
|
|
yarn
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-07-28 16:50:45 +08:00
|
|
|
|
7. 构建
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-07-28 17:03:06 +08:00
|
|
|
|
yarn watch
|
2022-06-14 18:11:52 +08:00
|
|
|
|
|
2022-07-28 16:50:45 +08:00
|
|
|
|
8. 运行
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-07-28 17:03:06 +08:00
|
|
|
|
./scripts/code.sh
|
2022-06-14 18:11:52 +08:00
|
|
|
|
|
2022-07-28 17:03:06 +08:00
|
|
|
|
9. 配置商店地址
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-07-28 17:03:06 +08:00
|
|
|
|
在源码根目录下的 product.json 中添加如下json片段,配置 open vsx 开源插件商店:
|
2022-06-14 18:20:16 +08:00
|
|
|
|
|
2022-07-28 17:03:06 +08:00
|
|
|
|
```json
|
|
|
|
|
"extensionsGallery": {
|
2023-07-17 11:35:40 +08:00
|
|
|
|
"serviceUrl": "https://open-vsx.org/vscode/gallery",
|
|
|
|
|
"itemUrl": "https://open-vsx.org/vscode/item"
|
2022-07-28 17:03:06 +08:00
|
|
|
|
}
|
|
|
|
|
```
|