kylin-code/README.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

131 lines
7.3 KiB
Markdown
Raw Permalink Normal View History

2023-07-28 11:34:42 +08:00
# Kylin-Code
- Kylin版“VSCodium”面向国产平台支持多种编程语言的编辑、构建、调试支持本地开发和远程开发的集成开发环境。未来将逐步丰富开发解决方案致力于麒麟生态建设
## Kylin-Code与Kylin-IDE
2023-12-26 16:05:52 +08:00
- **Kylin-Code**openKylin社区版本IDE主要支持X86架构。本仓库是其组成部分中的IDE基础平台基于VSCode开源项目Code-OSS
* [IDE基础平台-仓库链接](https://gitee.com/openkylin/kylin-code)
* [IDE基础平台-下载链接](https://gitee.com/openkylin/kylin-code/releases)
* [项目计划](https://gitee.com/openkylin/kylin-code/wikis/%E9%A1%B9%E7%9B%AE%E8%AE%A1%E5%88%92)
- **Kylin-IDE**面向银河麒麟操作系统V10的IDE按使用方式分为桌面版、远程开发插件版、远程开发WebIDE版
* [简介和链接](https://gitee.com/openkylin/extensions-repo/blob/master/user-guide/files/%E7%AE%80%E4%BB%8B.md)
## 帮助文档
- [帮助文档](https://gitee.com/openkylin/extensions-repo/blob/master/user-guide/%E7%9B%AE%E5%BD%95.md)
- [汇总仓库(openKylin extensions-repo)](https://gitee.com/openkylin/extensions-repo)
- [插件手动下载地址(extensions-repo KylinIDETeam目录)](https://gitee.com/openkylin/extensions-repo/tree/master/KylinIDETeam)
## openKylin Framework SIG组月度例会
* 欢迎参加月度例会讨论Kylin-Code及其插件规划和发展思路、讨论IDE发展方向
* 例会时间每个月的第2个周二下午14:00如遇到节假日顺延到下一个周二
* 例会会议号会在openKylin官网公布[点此链接,在主页找到“社区日程”,点击日历的对应日期查看](https://www.openkylin.top/index-cn.html)
## 支持的平台
- 见[帮助文档支持的平台章节](https://gitee.com/openkylin/extensions-repo/blob/master/user-guide/files/%E6%94%AF%E6%8C%81%E7%9A%84%E5%B9%B3%E5%8F%B0.md)
2023-07-28 11:34:42 +08:00
## 组成
- 见[帮助文档简介章节桌面版](https://gitee.com/openkylin/extensions-repo/blob/master/user-guide/files/%E7%AE%80%E4%BB%8B.md)
- 仅安装IDE基础平台只能完成很有限的编辑功能需要安装插件并在操作系统上安装插件依赖才能实现更多的开发功能
- IDE基础平台提供基本图形界面、插件架构通过插件管理器检索、安装、管理插件通过插件依赖管理器安装插件依赖
- IDE基础平台基于Visual Studio Code(VSCode)开源项目 [Code OSS](https://github.com/microsoft/vscode) ,默认接入 [OpenVSX](https://open-vsx.org/) 插件市场
2023-07-28 11:34:42 +08:00
## 新功能介绍
- 见[帮助文档新功能章节](https://gitee.com/openkylin/extensions-repo/blob/master/user-guide/files/%E6%96%B0%E5%8A%9F%E8%83%BD.md)
2023-07-28 11:34:42 +08:00
## 使用方法
- 见[帮助文档简介章节,使用方法小节](https://gitee.com/openkylin/extensions-repo/blob/master/user-guide/files/%E7%AE%80%E4%BB%8B.md#4-)
2023-07-28 11:34:42 +08:00
## OpenVSX插件市场使用注意
- 见[帮助文档简介章节OpenVSX插件市场使用注意小节](https://gitee.com/openkylin/extensions-repo/blob/master/user-guide/files/%E7%AE%80%E4%BB%8B.md#31-openvsx)
2023-07-28 11:34:42 +08:00
# 常见问题
- 为什么基于Code-OSS
2023-08-01 16:50:55 +08:00
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.85.2版本进行改造,之所以不使用最新版本,主要基于以下原因
* 第一Code-OSS代码迭代较快通常2周发布一个版本紧跟Code-OSS版本不太现实。
* 第二我们希望在多个国产平台上保持版本基本一致Code-OSS依赖的Electron移植适配工作量较大特别是LoongArch等国产平台需要基于现有Electron版本或投入大量精力移植适配某个版本。
* 第三为用户在openKylin等国产操作系统上开发软件提供一个稳定好用的IDE是我们所要追求的目标。
2023-07-28 11:34:42 +08:00
- 如何加入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
4. 参加openKylin Framework SIG组月度例会例会时间见上文
# 构建步骤
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
2023-12-06 09:57:37 +08:00
版本要求:>=18.15.x and <19
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": {
"serviceUrl": "https://open-vsx.org/vscode/gallery",
"itemUrl": "https://open-vsx.org/vscode/item"
2022-07-28 17:03:06 +08:00
}
```