修改C开发、Java开发、WebIDE等多个文档
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"java.jdt.ls.java.home": ""
|
||||||
|
}
|
|
@ -1,330 +1,60 @@
|
||||||
# C-C++开发
|
# C-C++开发
|
||||||
- [环境准备](#1-环境准备)
|
- [1.环境准备](#1环境准备)
|
||||||
- [C-C++项目创建与编辑](#2-cc项目创建与编辑)
|
- [2.C/C++项目(工程)操作](#2cc项目工程操作)
|
||||||
- [编译与运行](#3编译与运行)
|
- [3.编辑、构建、调试、运行配置](#3编辑构建调试运行配置)
|
||||||
- [调试](#4调试)
|
|
||||||
|
|
||||||
# 1 环境准备
|
# 1.环境准备
|
||||||
## 1.1 通过开发环境快速部署安装
|
## 1.1 通过开发环境快速部署安装
|
||||||
- 点击帮助菜单中的“打开开发环境快速部署”子菜单,选择C/C++选项进行安装,将安装系统软件源中的编译调试工具和C/C++基础支持插件
|
- 点击帮助菜单中的“打开开发环境快速部署”子菜单,选择C/C++选项进行安装,将安装系统软件源中的编译调试工具和C/C++基础支持插件
|
||||||
|
- 具体可参考[开发环境快速部署章节](./开发环境快速部署.md)
|
||||||
## 1.2 手动安装
|
## 1.2 手动安装
|
||||||
## 1.2.1 安装C/C++基础支持插件
|
## 1.2.1 安装C/C++基础支持插件
|
||||||
- Clangd插件安装(该clangd插件ID是KylinIDETeam.vscode-clangd,插件的发布者是KylinIdeTeam。该插件为C/C++提供补全、导航和检查等语法功能)
|
- 编辑支持:Kylin Clangd插件(该插件为C/C++提供补全、导航和检查等语法功能,kylinideteam.vscode-clangd)
|
||||||
- 启动IDE基础平台
|
* 插件安装方法如下,或参考[如何检索和安装插件章节](./如何检索和安装插件.md),其他插件安装方法类似,不再赘述
|
||||||
- 点击活动栏中的插件图标,调出插件视图
|
- 启动IDE基础平台
|
||||||
- 在插件视图中找到KYLIN-IDE推荐的插件,选择Kylin-IDE(KylinCode)插件分类->C语言支持
|
- 点击活动栏中的插件图标,调出插件视图
|
||||||
- 点击Clangd进行安装
|
- 在插件视图中找到KYLIN-IDE推荐的插件,选择Kylin-IDE(KylinCode)插件分类->C语言支持
|
||||||
|
- 点击Kylin Clangd进行安装
|
||||||
|
|
||||||
- Native Debug插件安装(ID:KylinIdeTeam.debug,该插件提供C/C++调试功能)
|
- 调试支持:C/C++ Debug(gdb)插件 或 Kylin Native Debug插件
|
||||||
- 启动IDE基础平台
|
* C/C++ Debug(gdb)插件(kylinideteam.cppdebug)
|
||||||
- 点击活动栏中的插件图标,调出插件视图。
|
- 优点:调试功能体验优于Kylin Native Debug
|
||||||
- 在插件视图中找到KYLIN-IDE推荐的插件,选择Kylin-IDE(KylinCode)插件分类->C语言支持
|
- 缺点:插件体积大,下载慢,最好直接从[仓库下载](https://gitee.com/quanzhuo/cpp-debug/releases);仅支持X86和ARM架构
|
||||||
- 点击Native Debug安装
|
* Kylin Native Debug插件(kylinideteam.debug)
|
||||||
|
- 优点:支持架构多,包括X86、ARM、LoongArch等;插件体积小,下载快
|
||||||
|
- 缺点:调试功能相比C/C++ Debug插件略有不足
|
||||||
|
* 建议X86、ARM架构优先使用C/C++ Debug(gdb)插件;其他架构使用Kylin Native Debug插件;资源受限条件下使用Kylin Native Debug插件
|
||||||
|
|
||||||
|
- 项目创建
|
||||||
|
* Kylin Project Manager插件(kylinideteam.project-manager):提供基础项目创建功能,提供项目操作列表以方便执行配置、构建、调试、运行等操作
|
||||||
|
|
||||||
|
- CMake工程支持
|
||||||
|
* CMake Tools插件(ms-vscode.cmake-tools):推荐使用的开源插件,自动配置CMake项目的编辑、构建、调试,通过菜单方便操作
|
||||||
|
* CMake插件(twxs.cmake):推荐使用的开源插件,CMake Tools插件依赖插件,安装CMake Tools插件后,会自动下载安装该插件
|
||||||
|
* CMake IntelliSence插件(kylinideteam.cmake-intellisence):自研插件,对CMake语法支持更佳
|
||||||
|
|
||||||
|
- 若开发Qt工程,请参考[Qt开发支持章节](#Qt开发.md)
|
||||||
## 1.2.2 安装系统软件依赖
|
## 1.2.2 安装系统软件依赖
|
||||||
- 安装clangd(Clangd代码编辑插件依赖)
|
- 安装clangd(Kylin Clangd代码编辑插件依赖)
|
||||||
* 命令举例:`apt install clangd`或`yum install clang-tools-extra`
|
* 命令举例:`apt install clangd`或`yum install clang-tools-extra`
|
||||||
|
* 建议尽量安装较新版本,功能更强。目前系统默认安装clangd-10,可以手动安装更新版本,例如`sudo apt install clangd-11`
|
||||||
- 安装编译构建工具
|
- 安装编译构建工具
|
||||||
* 命令举例:`apt install build-essential cmake ninja-build`或`yum install gcc gcc-c++ cmake ninja-build`
|
* 命令举例:`apt install build-essential cmake ninja-build`或`yum install gcc gcc-c++ cmake ninja-build`
|
||||||
- 安装gdb(调试插件依赖)
|
- 安装gdb(调试插件依赖)
|
||||||
* 命令举例:`apt install gdb`或`yum install gdb`
|
* 命令举例:`apt install gdb`或`yum install gdb`
|
||||||
|
|
||||||
# 2 C/C++项目创建与编辑
|
# 2.C/C++项目(工程)操作
|
||||||
|
## 2.1 已有项目
|
||||||
|
- 对于已有项目,在IDE基础平台中中打开项目文件夹
|
||||||
|
* 点击文件主菜单 -> 打开文件夹
|
||||||
|
## 2.1 新建项目
|
||||||
|
- 安装Kylin Project Manager插件(安装方法见上文)
|
||||||
|
- 新建项目方法见[项目管理章节](./项目管理.md)
|
||||||
|
|
||||||
## 2.1 项目创建
|
## 3.编辑、构建、调试、运行配置
|
||||||
|
- 编辑支持需要了解Kylin Clangd插件和系统软件clangd的基本配置方法,具体见如下章节
|
||||||
### 2.1.1 C/C++程序简单创建
|
* [任意C/C++工程,如何使跳转等编辑功能正常工作(clangd)](./任意C-C++项目如何使跳转等编辑功能正常工作.md)
|
||||||
|
- 项目的构建、调试、运行配置请参考以下章节
|
||||||
- 创建c项目
|
* [如何配置工程的构建、调试、运行](./如何配置工程的构建-调试-运行.md)
|
||||||
- 在终端创建文件夹CProject
|
- C/C++ Debug(gdb)插件 和 Kylin Native Debug插件的launch.json具体如何配置,见插件readme
|
||||||
- 启动通用集成开发环境,点击文件->打开文件夹,选择CProject
|
* 在最左侧点击插件图标,打开插件视图,在列表中找到插件条目,点击插件条目即可查看插件readme
|
||||||
- 点击新建文件图标,创建hello.c
|
|
||||||
![图3 C程序创建](resources/c-c++/cproject-new.gif)
|
|
||||||
- 创建c++项目
|
|
||||||
- 在终端创建文件夹C++Project
|
|
||||||
- 启动通用集成开发环境,点击文件->打开文件夹,选择C++Project
|
|
||||||
- 点击新建文件图标,创建hello.cpp
|
|
||||||
![图4 C++程序创建](resources/c-c++/c++project-new.gif)
|
|
||||||
|
|
||||||
### 2.1.2 通过项目创建插件创建c/c++程序
|
|
||||||
|
|
||||||
- 插件商店点击筛选器插件->点击Kylin-IDE(KylinCode)插件分类->点击项目创建->点击安装项目管理插件Kylin Project Manager,插件安装后点击资源管理器视图,进入项目操作区创建C/C++程序,创建具体操作详情见:[项目管理插件](项目管理.md)
|
|
||||||
![图5 项目创建插件创建程序](resources/c-c++/visix-new-project.gif)
|
|
||||||
|
|
||||||
## 2.2 编辑
|
|
||||||
|
|
||||||
### 2.2.1 C语言编辑
|
|
||||||
|
|
||||||
- 在新建的hello.c文件中输入C程序代码
|
|
||||||
|
|
||||||
```c
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
int main(void)
|
|
||||||
{
|
|
||||||
printf("Hello World!\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
编辑区支持C程序语言高亮、补全、导航等功能:
|
|
||||||
- 语法高亮,观察编辑区程序关键字、头文件等是否着色(语义高亮功能需系统软件clangd软件包9以上版本,目前LoongArch平台的clangd软件未完全支持该功能,LoongArch平台仅支持变量或者函数名等定义处高亮)
|
|
||||||
![图6](resources/c-c++/c-highlight.png)
|
|
||||||
- 补全,鼠标键入关键字等部分字符,将会提示补全关键字信息
|
|
||||||
![图7](resources/c-c++/c-complete.png)
|
|
||||||
- 导航,鼠标放置调用的函数右键,点击转到定义,将跳转到该函数的定义处
|
|
||||||
![图8](resources/c-c++/c-jump.gif)
|
|
||||||
|
|
||||||
### 2.2.2 C++编辑
|
|
||||||
|
|
||||||
- 在新建的hello.cpp文件中输入C++程序代码
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
std::cout << "Hello world!" << std::endl;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
与C类似,编辑区支持C++程序语言高亮、补全、导航等功能,LoongArch平台仅支持变量或者函数名等定义处高亮)
|
|
||||||
|
|
||||||
# 3.编译与运行
|
|
||||||
|
|
||||||
## 3.1 C/C++简单程序编译与运行
|
|
||||||
|
|
||||||
### 3.1.1 编译配置
|
|
||||||
|
|
||||||
- 如果用户编译类似上述[CProject和C++Project](#211-cc程序简单创建)简单项目,需要创建运行配置文件tasks.json,tasks.json文件被存储在.vscode文件夹内。创建方法如下:
|
|
||||||
|
|
||||||
- 点击菜单中的终端->配置任务->使用模板创建tasks.json文件->others
|
|
||||||
- tasks.json文件创建成功
|
|
||||||
创建的tasks.json默认内容如下:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"version": "2.0.0",
|
|
||||||
"tasks": [
|
|
||||||
{
|
|
||||||
"label": "echo",
|
|
||||||
"type": "shell",
|
|
||||||
"command": "echo Hello"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
- C程序修改tasks.json文件内容如下:(C++程序配置可参考C)
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"version": "2.0.0",
|
|
||||||
"tasks": [
|
|
||||||
{
|
|
||||||
"label": "build_c",
|
|
||||||
"type": "shell",
|
|
||||||
"linux": {
|
|
||||||
"command": "gcc",
|
|
||||||
"args": [
|
|
||||||
"-g",
|
|
||||||
"hello.c",
|
|
||||||
"-o",
|
|
||||||
"hello"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "run",
|
|
||||||
"type": "shell",
|
|
||||||
"linux": {
|
|
||||||
"command": "",
|
|
||||||
"args": ["./hello"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
- 如果用项目创建插件中创建的C程序(例如参考"项目管理"下的"3.1、创建C/C++项目"[3.1、创建C/C++项目](项目管理.md#31创建cc项目)),在项目的.vscode目录下有运行配置文件tasks.json,如果没有需要创建。配置内容参考“项目管理”下的“4.1、配置C/C++项目”:[4.1、配置C/C++项目](项目管理.md#41配置cc项目)
|
|
||||||
- 若配置上述[QT项目](#223-qt代码编辑支持和开发库头文件配置)tasks.json文件可参考以下配置:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"version": "2.0.0",
|
|
||||||
"tasks": [
|
|
||||||
{
|
|
||||||
"label": "qmake",
|
|
||||||
"type": "shell",
|
|
||||||
"options": {
|
|
||||||
"cwd": "${workspaceFolder}/build/"
|
|
||||||
},
|
|
||||||
"command": "qmake",
|
|
||||||
"args": [
|
|
||||||
".."
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "build",
|
|
||||||
"type": "shell",
|
|
||||||
"options": {
|
|
||||||
"cwd": "${workspaceFolder}/build/"
|
|
||||||
},
|
|
||||||
"command": "make",
|
|
||||||
"dependsOn":["qmake"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "run",
|
|
||||||
"type": "shell",
|
|
||||||
"options": {
|
|
||||||
"cwd": "${workspaceFolder}/build/"
|
|
||||||
},
|
|
||||||
"command": "./${workspaceFolderBasename}",
|
|
||||||
"dependsOn":["build"]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "clean",
|
|
||||||
"type": "shell",
|
|
||||||
"options": {
|
|
||||||
"cwd": "${workspaceFolder}/build/"
|
|
||||||
},
|
|
||||||
"command": "make distclean"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
此外,需在qmake项目根目录下需配置qtdemo.pro文件
|
|
||||||
|
|
||||||
- tasks.json中常用参数:
|
|
||||||
- label: task名称
|
|
||||||
- type:配置类型
|
|
||||||
- command:用来指定要执行的程序
|
|
||||||
- args字段用于记录执行command需要涉及到的参数
|
|
||||||
- cwd: cd到工程中指定的目录
|
|
||||||
- dependsOn:填写依赖的任务,需先执行该任务。例如在运行run时先执行build,在run配置中可参考: "dependsOn":["build"]
|
|
||||||
- miDebuggerPath:代表调试器(GDB)所在路径
|
|
||||||
- preLaunchTask:在运行program前要做的前置任务,比如编译,task.json就是用于定义前置任务
|
|
||||||
|
|
||||||
- 下面介绍一些常用的变量:
|
|
||||||
- ${workspaceFolder}:项目文件夹在 IDE中打开的路径
|
|
||||||
- ${workspaceFolderBasename}:在 IDE中打开的项目文件夹名称
|
|
||||||
- ${file}:当前开打开(激活)的文件
|
|
||||||
- ${relativeFile}:相对于 {workspaceFolder} 的文件路径
|
|
||||||
- ${fileBasename}:当前打开文件的名称
|
|
||||||
- ${fileBasenameNoExtension}:当前打开文件的名称,不带扩展名的
|
|
||||||
- ${fileExtname}:当前打开文件的扩展名
|
|
||||||
- ${fileDirname}:当前打开文件的文件夹名称
|
|
||||||
- ${cwd} -任务运行器启动时的当前工作目录
|
|
||||||
- ${lineNumber} -活动文件中当前选定的行号
|
|
||||||
- ${selectedText} -活动文件中当前选定的文本
|
|
||||||
- ${execPath} -运行IDE可执行文件的路径
|
|
||||||
- ${defaultBuildTask} -默认构建任务的名称
|
|
||||||
|
|
||||||
|
|
||||||
### 3.1.2 进行编译
|
|
||||||
|
|
||||||
- 点击菜单中的终端->运行任务->build->继续而不扫描任务输出,运行任务
|
|
||||||
|
|
||||||
![图10 编译](resources/c-c++/c-build.gif)
|
|
||||||
|
|
||||||
- 在终端输出运行结果(例如CProject编译运行结果)
|
|
||||||
|
|
||||||
![图11 编译结果](resources/c-c++/C-build-result.png)
|
|
||||||
|
|
||||||
### 3.1.3 运行
|
|
||||||
|
|
||||||
- 点击菜单中的终端->运行任务->run->继续而不扫描任务输出,运行任务
|
|
||||||
- 在终端输出运行结果(例如CProject结果)
|
|
||||||
|
|
||||||
![图12 C运行结果](resources/c-c++/c-run-result.png)
|
|
||||||
|
|
||||||
# 4.调试
|
|
||||||
|
|
||||||
## 4.1 C/C++程序调试
|
|
||||||
|
|
||||||
- 调试配置
|
|
||||||
项目调试之前需进行调试配置,资源管理器点击打开已创建的C或C++程序,点击活动栏运行和调试图标进入视图,点击创建launch.json文件,命令行中选择GDB调试器
|
|
||||||
launch.json文件创建成功后默认配置如下:
|
|
||||||
|
|
||||||
C程序修改launch.json文件内容如下:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"version": "0.2.0",
|
|
||||||
"configurations": [
|
|
||||||
{
|
|
||||||
"name": "Debug ",
|
|
||||||
"type": "gdb",
|
|
||||||
"request": "launch",
|
|
||||||
"printCalls": true,
|
|
||||||
"showDevDebugOutput": true,
|
|
||||||
"target": "./hello",
|
|
||||||
"cwd": "${workspaceFolder}",
|
|
||||||
"valuesFormatting": "parseText",
|
|
||||||
"preLaunchTask": "build_c"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
C++程序修改launch.json文件内容如下:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
|
|
||||||
"version": "0.2.0",
|
|
||||||
"configurations": [
|
|
||||||
{
|
|
||||||
"name": "Debug ",
|
|
||||||
"type": "gdb",
|
|
||||||
"request": "launch",
|
|
||||||
"printCalls": true,
|
|
||||||
"showDevDebugOutput": true,
|
|
||||||
"target": "./hello",
|
|
||||||
"cwd": "${workspaceFolder}",
|
|
||||||
"valuesFormatting": "parseText",
|
|
||||||
"preLaunchTask": "build_cpp"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
- 调试常用参数介绍:
|
|
||||||
|
|
||||||
- program:代表要运行的二进制文件所在路径
|
|
||||||
|
|
||||||
- miDebuggerPath:代表调试器(GDB)所在路径
|
|
||||||
- environment: 环境变量设置
|
|
||||||
|
|
||||||
- preLaunchTask:在运行program前要做的前置任务,比如编译,task.json就是用于定义前置任务
|
|
||||||
|
|
||||||
|
|
||||||
- 调试
|
|
||||||
- 设置断点
|
|
||||||
打开c/c++程序(hello.c或者hello.cpp),在编辑区程序中输出信息的一行的最左侧单击,出现红点则断点设置成功
|
|
||||||
- 再次进入调试侧边栏,点击开始调试按钮(或者键盘按F5),进入调试功能
|
|
||||||
- 程序在断点处暂停,点击调试导航栏单步调试(或者单步进入),左侧侧边栏中可观察调用堆栈、变量等信息
|
|
||||||
|
|
||||||
C程序调试如下:
|
|
||||||
![图13 C调试](resources/c-c++/c-launch.gif)
|
|
||||||
|
|
||||||
C++程序调试如下:
|
|
||||||
![图14 C++调试](resources/c-c++/cpp-launch.gif)
|
|
||||||
|
|
||||||
## 4.2 C/C++程序反向调试
|
|
||||||
|
|
||||||
- 反向调试功能需系统软件gdb支持反向调试,目前X86、LoongArch平台的gdb软件未完全支持该功能,仅ARM平台可以使用该功能
|
|
||||||
- 设置断点
|
|
||||||
打开c/c++程序(hello.c或者hello.cpp),在编辑区程序中输出信息的一行的最左侧单击,出现红点则断点设置成功
|
|
||||||
- 再次进入调试侧边栏,点击开始调试按钮(或者键盘按F5),进入调试功能
|
|
||||||
- 程序在断点处暂停,点击编辑区右上角Code-Debug:Start reverse debugging按钮
|
|
||||||
- 点击调试导航栏单步调试-点击反向调试-点击停止
|
|
||||||
|
|
||||||
C程序反向调试如下:
|
|
||||||
![图15 C反向调试](resources/c-c++/c-launch-reverse.gif)
|
|
||||||
|
|
||||||
C++程序反向调试如下:
|
|
||||||
![图16 C++反向调试](resources/c-c++/cpp-launch-reverse.gif)
|
|
|
@ -1,256 +1,146 @@
|
||||||
# Java开发使用说明
|
# Java开发支持
|
||||||
|
## 插件选择
|
||||||
|
- 根据系统上能够安装的JDK版本和Kylin-IDE版本做选择。注意以下两套Java支持插件组会相互冲突,只能二选一
|
||||||
|
- 如果系统上能够安装JDK17或以上版本,Kylin-IDE版本为1.1.0以上,推荐使用较主流的开源插件:
|
||||||
|
* Extesion Pack for Java(vscjava.vscode-java-pack),这套开源插件以redhat提供的Java语言支持插件为基础,是插件市场中较为主流的Java开发插件。通过安装此插件可安装Java插件组,包括以下插件,也可以单独安装:
|
||||||
|
- Language Support for Java™ by Red Hat(redhat.java):Java语言编辑支持插件
|
||||||
|
- Debugger for Java(vscjava.vscode-java-debug):Java调试支持插件
|
||||||
|
- Test Runner for Java(vscjava.vscode-java-test):Java测试支持插件
|
||||||
|
- Maven for Java(vscjava.vscode-maven):Maven构建支持插件
|
||||||
|
- Gradle for Java(vscjava.vscode-gradle):Gradle构建支持插件
|
||||||
|
- Project Manager for Java(vscjava.vscode-java-dependency):Java项目创建
|
||||||
|
- IntelliCode(此插件非开源,可以卸载或不安装。VisualStudioExptTeam.vscodeintellicode):AI代码补全
|
||||||
|
* Spring Boot Extension Pack(vmware.vscode-boot-dev-pack):Spring Boot支持插件组,安装此插件将安装以下插件:
|
||||||
|
- Spring Boot Tools(vmware.vscode-spring-boot):Spring Boot配置文件编辑支持,Java编辑支持(依赖上文redhat.java插件)
|
||||||
|
- Spring Initializr Java Support(vscjava.vscode-spring-initializr):Spring Boot项目创建支持
|
||||||
|
- Spring Boot Dashboard(vscjava.vscode-spring-boot-dashboard):管理workspace中的Spring Boot项目(依赖vmware.vscode-spring-boot、redhat.java、vscjava.vscode-java-debug)
|
||||||
|
* 上述插件可以在插件市场中检索到
|
||||||
|
|
||||||
## 1、概述
|
- 如果系统上能够安装JDK11或以上版本,或Kylin-IDE版本为1.1.0以下,或其他插件API较老旧版本的VSCode,推荐使用:
|
||||||
|
* Java Pack(kylinideteam.vscode-java-pack),此插件组基于较低版本开源Java支持插件改造以支持JDK11
|
||||||
|
- Java(kylinideteam.java):Java语言编辑支持插件
|
||||||
|
- Debugger for Java(kylinideteam.vscode-java-debug):Java调试支持插件
|
||||||
|
- Test Runner for Java(kylinideteam.vscode-java-test):Java测试支持插件
|
||||||
|
- Maven for Java(kylinideteam.vscode-maven):Maven构建支持插件
|
||||||
|
- Gradle for Java(kylinideteam.vscode-gradle):Gradle构建支持插件
|
||||||
|
- Project Manager for Java(kylinideteam.vscode-java-dependency):Java项目创建
|
||||||
|
* 上述插件可以在插件市场中检索到:在插件视图中找到KYLIN-IDE推荐的插件,选择Kylin-IDE(KylinCode)插件分类->Java语言支持
|
||||||
|
|
||||||
本文档介绍用户如何进行Java项目开发。
|
## 系统软件安装
|
||||||
|
- 安装JDK
|
||||||
|
* 命令举例
|
||||||
|
- `sudo apt install openjdk-11-jdk`
|
||||||
|
- `sudo apt install openjdk-17-jdk`
|
||||||
|
- `sudo yum install java-11-openjdk-devel`
|
||||||
|
|
||||||
|
- Maven与JDK版本有对应关系
|
||||||
包括java编辑、编译、运行、调试等过程。
|
* 在互联网上容易检索到JDK版本对应的最低maven版本
|
||||||
|
* 在JDK17环境中,系统上的maven软件包可能不符合要求,需要从maven官网或从其他渠道安装高版本maven软件
|
||||||
|
|
||||||
## 2、环境准备
|
## JDK配置
|
||||||
|
- 请区分插件需要的JDK运行环境和项目开发使用JDK环境
|
||||||
|
- 插件需要的JDK运行环境
|
||||||
|
* Java支持插件中使用了Java编写的程序,例如Java编辑支持插件的语言服务就是使用Java编写的,因此插件运行需要一个JDK环境
|
||||||
|
* 通常情况下,只要安装了JDK11或以上版本,可以不用再手动配置`java.jdt.ls.java.home`
|
||||||
|
* `java.jdt.ls.java.home`配置方法
|
||||||
|
* 在设置中搜索`java.jdt.ls.java.home`
|
||||||
|
- 修改“用户”设置,则对用户下的所有工程生效
|
||||||
|
- 修改“工作区”设置,仅对当前工作区项目生效,如果“工作区”设置与“用户”设置不同,则“工作区”设置优先于“用户”设置
|
||||||
|
* 编辑配置文件,`"java.jdt.ls.java.home": "JDK路径根目录"`
|
||||||
|
* 如果未设置`java.jdt.ls.java.home`,则按以下顺序做搜索,找到一个满足最低环境的(JDK11)JDK
|
||||||
|
* `JDK_HOME` 环境变量
|
||||||
|
* `JAVA_HOME` 环境变量
|
||||||
|
* 当前系统路径
|
||||||
|
- 项目开发使用的JDK环境
|
||||||
|
* 项目开发使用的JDK环境是指项目编译、调试使用的JDK环境
|
||||||
|
* 项目开发使用的JDK环境可以配置多个,在设置中搜索`java.configuration.runtimes`, 编辑json配置文件,其中`default`字段用于指定一个默认的JDK环境,会根据默认或项目的源级别选择最佳版本,setting.json文件配置举例:
|
||||||
|
```json
|
||||||
|
"java.configuration.runtimes": [
|
||||||
|
{
|
||||||
|
"name": "JavaSE-1.8",
|
||||||
|
"path": "/usr/lib/jvm/java-8-openjdk-amd64",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "JavaSE-11",
|
||||||
|
"path": "/usr/lib/jvm/java-11-openjdk-amd64",
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "JavaSE-17",
|
||||||
|
"path": "/usr/lib/jvm/java-17-openjdk-amd64",
|
||||||
|
},
|
||||||
|
]
|
||||||
|
```
|
||||||
|
- 注意`name`字段只能填指定值,填错时有黄色波浪线提示,可以将鼠标放在波浪线上,会有指定值说明
|
||||||
|
* 在不配置`java.configuration.runtimes`的情况下,也可以通过菜单配置JDK默认运行环境
|
||||||
|
- 方法1:在Java项目中,资源管理器视图下方,有Java Project配置小窗口,点击小窗口右上角的“...”按钮,选择Configure Java Runtime,即可选择默认的JDK
|
||||||
|
- 方法2:或ctrl+shift+P打开命令面板,搜索Configure Java Runtime,即可选择默认的JDK
|
||||||
|
- 注意:当在setting.json中配置了`java.configuration.runtimes`后,将以setting.json配置为准,上述方法将不起作用
|
||||||
|
- 系统中安装了多个JDK版本,默认使用哪个
|
||||||
|
* 系统中通常可以安装多个JDK版本,通过alternatives机制,系统默认Java相关命令会关联到某一个JDK中
|
||||||
|
- 通过`ls -lh`命令能够看到`/usr/bin/java`链接到了`/etc/alternatives/java`,它指向了一个JDK版本中的`java`命令
|
||||||
|
* 修改`/etc/alternatives/`下的链接不推荐直接修改链接的方法,而使用update-alternatives命令
|
||||||
|
- 例如,修改`/usr/bin/java`指向,执行`sudo update-alternatives --config java`,输入序号即可完成修改
|
||||||
|
* 常用的主要是`java`、`javac`命令,其他java相关命令可以根据需要修改指向,命令举例
|
||||||
|
- `sudo update-alternatives --config java`
|
||||||
|
- `sudo update-alternatives --config javac`
|
||||||
|
- 注意:若系统中安装了多个JDK,task.json中,command字段中若需调用javac、java命令,有些方法可以区分调用的是哪个JDK中的命令
|
||||||
|
* 方法1:调用命令时写命令的绝对路径,直接写明从哪个JDK中调用
|
||||||
|
* 方法2:使用update-alternatives命令修改好系统默认的相关命令,在命令行中确认修改生效,task.json中即可直接使用java或javac命令
|
||||||
|
|
||||||
- 系统安装Java开发工具包(JDK 11+)。如果您还没有安装JDK,请从官方源安装,或者自行下载安装。
|
## 项目(工程)管理
|
||||||
|
- 已有项目
|
||||||
|
* 打开项目文件夹,Java支持插件会对项目进行解析
|
||||||
|
|
||||||
``` shell
|
- 创建项目
|
||||||
sudo apt install openjdk-11-jdk
|
* 安装项目创建插件Kylin Project Manager(kylinideteam.project-manager),注意spring boot项目仅在JDK17环境中支持
|
||||||
```
|
* 安装插件后,入口:文件主菜单-->新建项目
|
||||||
- 在IDE软件中安装Java扩展。
|
* Java类项目创建主要基于开源插件提供支持
|
||||||
- 启动IDE软件
|
* 详细见[项目管理章节](./项目管理)
|
||||||
- 点击活动栏中的插件图标,调出插件视图。
|
|
||||||
- 在插件视图中找到KYLIN-IDE推荐的插件,选择Kylin-IDE(KylinCode)插件分类->Java语言支持
|
|
||||||
|
|
||||||
![图1](./resources/java/extension-list.png "Java语言支持插件查看")
|
- 项目配置
|
||||||
- 通过以上步骤找到java语言相关插件Java Pack (Support openjdk11 runtime)
|
* 需要了解基本的task.json、launch.json配置方法,见[如何配置工程的构建、调试、运行章节](./如何配置工程的构建-调试-运行.md)
|
||||||
- Java Pack (Support openjdk11 runtime)插件安装:
|
* 在项目操作区中(左侧资源管理器视图下方的折叠菜单)可执行构建操作或task中的其他任务
|
||||||
|
* 一个简单Java项目task.json的配置例子如下
|
||||||
点击插件右下角的安装图标进行安装操作。
|
```json
|
||||||
|
|
||||||
会自动安装java相关支持插件,包括:
|
|
||||||
|
|
||||||
- Java Maven (Support openjdk11 runtime)
|
|
||||||
- Java Debug (Support openjdk11 runtime)
|
|
||||||
- Java Dependency (Support openjdk11 runtime)
|
|
||||||
- Java Test (Support openjdk11 runtime)
|
|
||||||
- Java Pack (Support openjdk11 runtime)
|
|
||||||
- Java Gradle (Support openjdk11 runtime)
|
|
||||||
|
|
||||||
- 安装成功后,重新加载窗口
|
|
||||||
|
|
||||||
## 3、快速开始
|
|
||||||
|
|
||||||
### 3.1、创建Java项目
|
|
||||||
|
|
||||||
- 参考“项目管理”下的“3.2、创建简单Java项目”:[创建Java项目](项目管理.md#3.2、创建简单Java项目)
|
|
||||||
|
|
||||||
### 3.2、配置Java项目
|
|
||||||
|
|
||||||
- 完成创建后,打开testJava项目
|
|
||||||
- 参考“项目管理”下的“4.2、配置Java项目”:[配置Java项目](项目管理.md#4.2、配置Java项目)
|
|
||||||
|
|
||||||
### 3.3、编辑
|
|
||||||
|
|
||||||
- 打开src/main.java文件
|
|
||||||
|
|
||||||
```java
|
|
||||||
public class main {
|
|
||||||
public static void main(String[] args) throws Exception {
|
|
||||||
System.out.println("Hello, World!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 3.3.1、代码提示
|
|
||||||
|
|
||||||
IDE软件提供了代码补全、代码着色、参数信息等。如图所示
|
|
||||||
|
|
||||||
![图代码补全](./resources/java/intellisense.png)
|
|
||||||
|
|
||||||
#### 3.3.2、代码导航
|
|
||||||
|
|
||||||
在编辑区的右键菜单中可以看到支持的代码导航,比如转到定义、转到实现、转到引用等
|
|
||||||
|
|
||||||
![图代码导航](./resources/java/right-menu.png)
|
|
||||||
|
|
||||||
### 3.4、编译、运行
|
|
||||||
|
|
||||||
在项目的.vscode目录下有运行配置文件tasks.json,如果没有需要创建。
|
|
||||||
|
|
||||||
创建方法如下:
|
|
||||||
|
|
||||||
- 点击菜单中的终端->配置任务->使用模板创建tasks.json文件->others
|
|
||||||
- tasks.json文件创建成功
|
|
||||||
|
|
||||||
创建的tasks.json默认内容如下:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"version": "2.0.0",
|
|
||||||
"tasks": [
|
|
||||||
{
|
{
|
||||||
"label": "echo",
|
"label": "build",
|
||||||
"type": "shell",
|
"type": "shell",
|
||||||
"command": "echo Hello"
|
"options": {
|
||||||
|
"cwd": "${workspaceFolder}"
|
||||||
|
},
|
||||||
|
"command": "/usr/lib/jvm/java-11-openjdk-amd64/bin/javac",
|
||||||
|
"args": [
|
||||||
|
"src/main.java",
|
||||||
|
"-sourcepath",
|
||||||
|
"src",
|
||||||
|
"-classpath",
|
||||||
|
"${config:java.project.referencedLibraries}",
|
||||||
|
"-d",
|
||||||
|
"${config:java.project.outputPath}"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "run",
|
||||||
|
"type": "shell",
|
||||||
|
"options": {
|
||||||
|
"cwd": "${workspaceFolder}"
|
||||||
|
},
|
||||||
|
"command": "java",
|
||||||
|
"args": [
|
||||||
|
"-cp",
|
||||||
|
"${config:java.project.outputPath}",
|
||||||
|
"main"
|
||||||
|
],
|
||||||
|
"dependsOn": [
|
||||||
|
"javac"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
```
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
- 修改tasks.json文件,修改后内容如下:
|
## 调试
|
||||||
|
- 一键调试
|
||||||
```json
|
* 对于简单的Java程序文件的调试,不需要进行配置,点击调试按钮或菜单可以直接调试
|
||||||
|
- 对于较复杂的Java程序,需要配置launch.json
|
||||||
{
|
* 配置方法见[如何配置工程的构建、调试、运行章节](./如何配置工程的构建-调试-运行.md)和Java Debug插件readme
|
||||||
"label": "build",
|
- 在最左侧点击插件图标,打开插件视图,在列表中找到插件条目,点击插件条目即可查看插件readme
|
||||||
"type": "shell",
|
|
||||||
"options": {
|
|
||||||
"cwd": "${workspaceFolder}"
|
|
||||||
},
|
|
||||||
"command": "javac",
|
|
||||||
"args": [
|
|
||||||
"src/main.java",
|
|
||||||
"-sourcepath",
|
|
||||||
"src",
|
|
||||||
"-classpath",
|
|
||||||
"${config:java.project.referencedLibraries}",
|
|
||||||
"-d",
|
|
||||||
"${config:java.project.outputPath}"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "run",
|
|
||||||
"type": "shell",
|
|
||||||
"options": {
|
|
||||||
"cwd": "${workspaceFolder}"
|
|
||||||
},
|
|
||||||
"command": "java",
|
|
||||||
"args": [
|
|
||||||
"-cp",
|
|
||||||
"${config:java.project.outputPath}",
|
|
||||||
"main"
|
|
||||||
],
|
|
||||||
"dependsOn": [
|
|
||||||
"javac"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 3.4.1、编译
|
|
||||||
|
|
||||||
- 点击“项目操作区”的“编译”按钮;或点击菜单中的终端->运行任务->build->继续而不扫描任务输出,运行build任务
|
|
||||||
- 在终端输出运行结果
|
|
||||||
|
|
||||||
![编译结果](./resources/java/build.png "编译结果")
|
|
||||||
|
|
||||||
#### 3.4.2、运行
|
|
||||||
|
|
||||||
- 点击“项目操作区”的“运行”按钮;或点击菜单中的终端->运行任务->run->继续而不扫描任务输出,运行run任务
|
|
||||||
|
|
||||||
- 在终端输出运行结果
|
|
||||||
|
|
||||||
![运行结果](./resources/java/run.png "运行结果")
|
|
||||||
|
|
||||||
### 4、调试
|
|
||||||
|
|
||||||
#### 4.1、一键调试
|
|
||||||
|
|
||||||
对于一个简单的Java程序文件的调试,不需要进行配置,支持一键调试。
|
|
||||||
|
|
||||||
- test.java文件左侧点击鼠标左键添加断点
|
|
||||||
- 如图,点击左侧活动栏中的调试按钮,切换到调试视图
|
|
||||||
|
|
||||||
![图2](./resources/java/debug-sample.png "调试视图")
|
|
||||||
- 点击运行和调试按钮启动调试
|
|
||||||
|
|
||||||
![图3](./resources/java/debug-sample2.png "启动调试")
|
|
||||||
- 如图此种简单调试,没有配置
|
|
||||||
|
|
||||||
#### 4.2、自定义调试
|
|
||||||
|
|
||||||
打开一个Java项目(本文以Calculator计算器例程)为例。
|
|
||||||
在项目的.vscode目录下有运行配置文件tasks.json,如果没有需要创建。
|
|
||||||
创建方法如下:
|
|
||||||
|
|
||||||
- 点击菜单中的运行->添加配置
|
|
||||||
|
|
||||||
![图4](./resources/java/add-launch.png)
|
|
||||||
|
|
||||||
- launch.json文件创建成功
|
|
||||||
|
|
||||||
创建的launch.json默认内容如下:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"version": "0.2.0",
|
|
||||||
"configurations": [
|
|
||||||
{
|
|
||||||
"type": "java",
|
|
||||||
"name": "Launch Current File",
|
|
||||||
"request": "launch",
|
|
||||||
"mainClass": "${file}"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "java",
|
|
||||||
"name": "Launch Calculator",
|
|
||||||
"request": "launch",
|
|
||||||
"mainClass": "Calculator",
|
|
||||||
"projectName": "calculator_cb38a00"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
将launch.json修改为:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"version": "0.2.0",
|
|
||||||
"configurations": [
|
|
||||||
{
|
|
||||||
"type": "java",
|
|
||||||
"name": "Launch Current File",
|
|
||||||
"request": "launch",
|
|
||||||
"mainClass": "${file}",
|
|
||||||
"args": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "java",
|
|
||||||
"name": "Launch Calculator",
|
|
||||||
"request": "launch",
|
|
||||||
"mainClass": "${file}",
|
|
||||||
"projectName": "${workspaceFolderBasename}"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
该launch.json文件配置可以调试 Calculator,其他项目用户需要根据具体情况修改launch.json文件
|
|
||||||
|
|
||||||
- 在Calculator.java文件左侧第20行点击鼠标左键添加断点;
|
|
||||||
- 在Calculator.java文件左侧第40行点击鼠标左键添加断点;
|
|
||||||
|
|
||||||
![调试](./resources/java/debug-project.png "调试视图")
|
|
||||||
|
|
||||||
- 点击“项目操作区”的“调试”按钮,切换到调试视图
|
|
||||||
- 点击Launch main启动调试
|
|
||||||
- 第一个断点,停在Calculator.java 20行处,如图,可以查看当前参数、堆栈信息、断点信息、变量等。
|
|
||||||
|
|
||||||
![图2](./resources/java/debug-project-step-1.png "调试中断")
|
|
||||||
|
|
||||||
- 点击继续,如图:
|
|
||||||
|
|
||||||
![图2](./resources/java/debug-operation.png "调试第一步")
|
|
||||||
|
|
||||||
- 程序运行成功,显示应用视图:
|
|
||||||
|
|
||||||
![图2](./resources/java/debug-project-step-2.png "运行")
|
|
||||||
|
|
||||||
- 点击1,点击+号,程序中断,如图:
|
|
||||||
|
|
||||||
![图2](./resources/java/debug-project-step-3.png "调试中断")
|
|
||||||
|
|
||||||
- 点击2,点击=号,得到结果3.0,如图:
|
|
||||||
|
|
||||||
![图2](./resources/java/debug-project-step-4.png "调试中断")
|
|
||||||
|
|
||||||
以上就是Java项目的调试过程。
|
|
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 106 KiB |
0
user-guide/files/resources/project-manager/pm-create-project-c-1st-buildtools.png
Normal file → Executable file
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
BIN
user-guide/files/resources/project-manager/pm-create-project-c-1st-type.png
Normal file → Executable file
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 34 KiB |
BIN
user-guide/files/resources/project-manager/pm-create-project-c-2nd-page.png
Normal file → Executable file
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 30 KiB |
BIN
user-guide/files/resources/project-manager/pm-create-project-c-3rd-page.png
Normal file → Executable file
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 26 KiB |
0
user-guide/files/resources/project-manager/pm-create-project-c-created-notice.png
Normal file → Executable file
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
BIN
user-guide/files/resources/project-manager/pm-create-project-c-created-window.png
Normal file → Executable file
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 176 KiB |
0
user-guide/files/resources/project-manager/pm-create-project-command.png
Normal file → Executable file
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
BIN
user-guide/files/resources/project-manager/pm-create-project-java-1st-page.png
Normal file → Executable file
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 44 KiB |
BIN
user-guide/files/resources/project-manager/pm-create-project-java-created-window.png
Normal file → Executable file
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 173 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 149 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 228 KiB |
0
user-guide/files/resources/project-manager/pm-debug-createlaunch.png
Normal file → Executable file
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
0
user-guide/files/resources/project-manager/pm-debug-launchcreated.png
Normal file → Executable file
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 99 KiB |
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 210 KiB After Width: | Height: | Size: 210 KiB |
After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 211 KiB After Width: | Height: | Size: 37 KiB |
0
user-guide/files/resources/project-manager/pm-project-c-settings.png
Normal file → Executable file
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
0
user-guide/files/resources/project-manager/pm-project-java-settings-classpath.png
Normal file → Executable file
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
0
user-guide/files/resources/project-manager/pm-project-java-settings.png
Normal file → Executable file
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 63 KiB |
BIN
user-guide/files/resources/project-manager/pm-project-other-settings.png
Normal file → Executable file
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 101 KiB |
|
@ -0,0 +1,46 @@
|
||||||
|
# 简介
|
||||||
|
- Kylin-IDE主要基于VSCode技术路线,VSCode技术路线的优点是通过插件可以方便地扩展功能,插件生态丰富
|
||||||
|
- 在国产操作系统环境下,VSCode技术路线有以下问题
|
||||||
|
* 插件市场插件过多,如何选择,哪些插件质量有保障?哪些插件在国产操作系统上能正常运行?
|
||||||
|
* VSCode体系中有些插件或功能未开源,过分依赖这些功能会在未来带来风险
|
||||||
|
* 国产操作系统架构众多,系统版本众多,各版本上的开发环境所需的依赖软件名称或版本有可能不同,支持的插件可能不同,如何对众多系统版本进行支持
|
||||||
|
|
||||||
|
- 开发环境快速部署功能,能够缓解上述问题
|
||||||
|
* 聚合,但不过分聚合,避免每个系统版本出一个软件包,修改一个功能,所有版本都需要重做
|
||||||
|
* 以选项形式把经过改造、测试的基础插件(包括自研的、改造的和开源的)提供给用户,使用户能够完成基本开发功能。其他额外功能可以通过插件市场进行扩展
|
||||||
|
* 便于扩展,未来,更多的解决方案可以同样以选项形式提供快速安装部署
|
||||||
|
* 在线安装子功能
|
||||||
|
- 在哪个系统版本上安装哪些软件包、插件,通过配置文件定义,Kylin-IDE通过读取配置文件、分析当前系统版本,提供安装选项
|
||||||
|
- 配置文件放在线上,通过修改配置文件可以便捷地修改安装选项内容、定义新的系统版本上安装哪些软件包、插件
|
||||||
|
- 配置文件经过签名,防止被篡改
|
||||||
|
- 系统软件通过操作系统软件源下载,避免
|
||||||
|
* 针对离线环境
|
||||||
|
- 仅下载但不安装子功能(开发中)
|
||||||
|
* 在有网环境下,选择安装选项后,仅下载系统软件包、插件、配置文件,形成安装包,但不安装
|
||||||
|
* 形成的安装包用于在离线环境中部署安装
|
||||||
|
* 这要求仅下载不安装的环境和离线环境相同
|
||||||
|
- 离线(本地)安装(开发中)
|
||||||
|
* 使用仅下载不安装步骤中形成的安装包,在离线环境下安装
|
||||||
|
|
||||||
|
- 入口
|
||||||
|
* 安装后第一次使用时
|
||||||
|
* 帮助主菜单,选择“打开开发环境快速部署”
|
||||||
|
|
||||||
|
# 支持情况
|
||||||
|
- 桌面版:支持
|
||||||
|
- 远程开发WebIDE版和远程开发插件版:暂不支持,开发中
|
||||||
|
|
||||||
|
# 在线安装子功能
|
||||||
|
- 主要流程概述
|
||||||
|
* 获取最新配置文件:从线上获取最新配置文件,比对本地配置文件,如有更新,提示更新。配置文件中存放了安装选项和需要安装的软件、插件列表
|
||||||
|
* 判断本机CPU架构和系统版本:系统版本主要判断依据是/etc/.kyinfo文件
|
||||||
|
* 显示安装选项和安装列表:根据本机系统版本、配置文件,获取适合当前系统的安装选项
|
||||||
|
* 执行安装过程:根据选择执行安装,安装软件需权限,故需要输入用户sudo密码。界面上会显示提示和进度
|
||||||
|
* 显示安装结果:安装完成或失败后,显示安装结果。用户可以查看关键信息和日志文件
|
||||||
|
- 安装日志文件位置
|
||||||
|
* 日志文件路径会显示在安装界面中,类似:`/home/kylin/.config/Kylin-IDE/installconfig/log`
|
||||||
|
* 出现问题时,可以借助日志文件排查
|
||||||
|
- 配置文件路径
|
||||||
|
* 配置文件所在路径,类似:`/home/mrc/.config/Kylin-IDE/installconfig`
|
||||||
|
* `selectFile.json`文件中记录了当前使用的配置文件路径
|
||||||
|
* 在配置文件中可以看到安装选项和安装列表,如希望手动安装,可以参考配置文件内容
|
|
@ -9,9 +9,10 @@
|
||||||
- [提示信息管理](#6提示信息管理)
|
- [提示信息管理](#6提示信息管理)
|
||||||
- [插件安装、多语言开发、调试功能使用](#7插件安装多语言开发调试功能使用)
|
- [插件安装、多语言开发、调试功能使用](#7插件安装多语言开发调试功能使用)
|
||||||
- [卸载](#8卸载)
|
- [卸载](#8卸载)
|
||||||
|
- [开启X11转发](#9开启x11转发)
|
||||||
|
|
||||||
## 功能概述
|
## 功能概述
|
||||||
- 远程开发WebIDE版,本文简称WebIDE,与一般意义的Web IDE概念不同,并不在云端提供一套统一的Web服务,而是结合了浏览器访问和SSH认证,服务端随用部署的一套软件。用法和Remote SSH插件类似,但不需要安装桌面版IDE软件。为用户提供跨机器、跨平台远程编辑、远程编译、远程运行、远程调试等功能。
|
- 远程开发WebIDE版,本文简称WebIDE,与一般意义的Web IDE概念不同,并不在云端提供一套统一的Web服务,而是结合了浏览器访问和SSH认证,服务端随用部署的一套软件。用法和Remote SSH插件类似,但不需要安装桌面版IDE软件。为用户提供跨机器、跨平台远程编辑、远程编译、远程运行、远程调试等功能
|
||||||
- 用法举例
|
- 用法举例
|
||||||
* 跨机器、跨平台:在X86、银河麒麟桌面操作系统上安装客户端(kylin-ide-web-client),远程开发飞腾或LoongArch机器上的应用
|
* 跨机器、跨平台:在X86、银河麒麟桌面操作系统上安装客户端(kylin-ide-web-client),远程开发飞腾或LoongArch机器上的应用
|
||||||
* 跨系统:在Windows上安装客户端,远程开发银河麒麟操作系统上的软件(Windows客户端正在开发中)
|
* 跨系统:在Windows上安装客户端,远程开发银河麒麟操作系统上的软件(Windows客户端正在开发中)
|
||||||
|
@ -148,4 +149,42 @@
|
||||||
- 删除远程机用户目录下~/.kylin-ide-server 目录
|
- 删除远程机用户目录下~/.kylin-ide-server 目录
|
||||||
|
|
||||||
- 客户端卸载
|
- 客户端卸载
|
||||||
- 使用dpkg命令或者rpm命令进行卸载,同时删除用户目录下~/.kylin-ide-remote目录和~/.config/kylin-remote-ide目录
|
- 使用dpkg命令或者rpm命令进行卸载,同时删除用户目录下~/.kylin-ide-remote目录和~/.config/kylin-remote-ide目录
|
||||||
|
|
||||||
|
|
||||||
|
### 9、开启X11转发
|
||||||
|
远程开发WebIDE版支持在Linux平台开启X11转发,进而支持GUI程序相关开发。X11转发功能开启需要服务端与客户端同时配置X11转发功能,如下:
|
||||||
|
* 远程机sshd服务开启X11转发
|
||||||
|
```shell
|
||||||
|
#修改 X11Forwarding 配置项为 yes
|
||||||
|
sudo vi /etc/ssh/sshd_config
|
||||||
|
#重启sshd服务
|
||||||
|
sudo systemctl restart ssh/sshd
|
||||||
|
```
|
||||||
|
* 客户端开启ssh转发
|
||||||
|
* 方法一:在客户端连接配置页中打开X11转发开关
|
||||||
|
|
||||||
|
![9-1](resources/kylin-remote-dev/openx11.png "x11开关")
|
||||||
|
|
||||||
|
- 在打开x11开关时,会弹窗提示是否清理当前已存在的隧道,点击“清理”后会将已创建的隧道清理掉,用户需要重新打开连接才能生效
|
||||||
|
|
||||||
|
![9-2](resources/kylin-remote-dev/x11prompt.png "x11提示")
|
||||||
|
|
||||||
|
- 在添加连接页面打开x11开关时,因为新增连接并没有创建隧道,并不会提示清理隧道(无法重复创建相同连接)
|
||||||
|
|
||||||
|
- 当前用户的本地127.0.0.1连接无需设置x11功能
|
||||||
|
|
||||||
|
|
||||||
|
* 方法二:修改ssh配置文件
|
||||||
|
|
||||||
|
```shell
|
||||||
|
#客户端ssh配置文件位于~/.ssh/config 如下:
|
||||||
|
Host 192.168.1.101
|
||||||
|
HostName 192.168.1.101
|
||||||
|
User test
|
||||||
|
ForwardX11 yes
|
||||||
|
ForwardX11Trusted yes
|
||||||
|
|
||||||
|
#添加ForwardX11 yes及ForwardX11Trusted yes
|
||||||
|
#若无对应IP Host项直接添加对应Host即可,其他ssh相关配置也可在此配置文件直接添加。
|
||||||
|
```
|
|
@ -1,398 +1,195 @@
|
||||||
# 项目管理插件安装使用说明
|
# 项目管理
|
||||||
|
|
||||||
## 1、插件安装
|
## 1、插件安装
|
||||||
|
- 点击最左侧插件图标,通过Kylin-IDE推荐插件或直接检索找到 Kylin Project Manager(kylinideteam.project-manager)插件并安装
|
||||||
- 通过插件筛选器,找到 Kylin Project Manager 插件
|
|
||||||
|
|
||||||
- 点击安装
|
|
||||||
|
|
||||||
![图1-2](resources/project-manager/pm-install-1.png "项目管理安装")
|
|
||||||
|
|
||||||
![图1-3](resources/project-manager/pm-install-2.png "项目管理安装")
|
|
||||||
|
|
||||||
- 完成安装。
|
|
||||||
- 如果是版本升级则需要重新加载主程序插件才生效,请根据提示操作完成安装。
|
|
||||||
|
|
||||||
![图1-4](resources/project-manager/pm-installed-1.png "项目管理已安装")
|
|
||||||
|
|
||||||
![图1-5](resources/project-manager/pm-installed-2.png "项目管理已安装")
|
|
||||||
|
|
||||||
## 2、项目管理插件操作区
|
## 2、项目管理插件操作区
|
||||||
|
|
||||||
- 在资源管理器展开“项目操作区”
|
- 在资源管理器视图展开“项目操作区”,包括:
|
||||||
- 提供项目创建、配置、编译、调试、运行、打包等相关功能入口
|
|
||||||
|
> 基本操作、任务列表、调试配置列表、执行Node.js配置脚本等
|
||||||
|
|
||||||
|
|
||||||
![图2-1](resources/project-manager/pm-operation.png "项目管理操作区")
|
![图2-1](resources/project-manager/pm-operation.png "项目管理操作区")
|
||||||
|
|
||||||
|
- 基本操作:
|
||||||
|
|
||||||
|
> 提供项目创建、配置、构建、调试、运行等相关功能入口;
|
||||||
|
|
||||||
|
- 任务列表:
|
||||||
|
|
||||||
|
> 通过解析当前工作区第一个项目的tasks.json,显示各个任务按钮,悬停显示任务信息,点击可以执行具体任务。
|
||||||
|
|
||||||
|
- 调试配置列表:
|
||||||
|
|
||||||
|
> 通过解析当前工作区第一个项目的launch.json,显示各个调试按钮,悬停显示调试信息,点击可以进入调试页面执行该调试。
|
||||||
|
|
||||||
|
- 执行Node.js配置脚本:
|
||||||
|
|
||||||
|
> 通过解析当前工作区第一个项目的package.json,显示脚本按钮,悬停显示脚本信息,点击调起终端通过npm执行。
|
||||||
|
|
||||||
|
- 刷新按钮:
|
||||||
|
|
||||||
|
> 如果项目内容发生变化,可点击右上角刷新图标刷新操作区;
|
||||||
|
|
||||||
|
- 自定义按钮
|
||||||
|
|
||||||
|
> 点击右上角添加自定义按钮,弹出下拉选择。
|
||||||
|
> - 包括:
|
||||||
|
> - 添加自定义IDE命令调用按钮
|
||||||
|
> ```
|
||||||
|
> 可以添加一个自定义按钮:
|
||||||
|
> ·输入按钮标题XXX;
|
||||||
|
> ·输入Kylin-IDE的commmand;
|
||||||
|
> ·刷新操作区后自定义按钮区显示XXX按钮;
|
||||||
|
> ·点击该按钮可以执行该command;
|
||||||
|
> ```
|
||||||
|
> - 添加自定义终端命令执行按钮
|
||||||
|
> ```
|
||||||
|
> 可以添加一个自定义按钮:
|
||||||
|
> ·输入按钮标题;
|
||||||
|
> ·输入Linux终端命令;
|
||||||
|
> ·刷新操作区后自定义按钮区显示XXX按钮;
|
||||||
|
> ·点击该按钮可以打开一个Kylin-ID内置终端并执行该命令;
|
||||||
|
> ```
|
||||||
|
|
||||||
## 3、创建新的项目
|
## 3、创建新的项目
|
||||||
|
|
||||||
- 点击“创建新的项目”,也可以通过 Ctrl+Shift+P 调起命令窗口,输入“创建项目”或“project.createProject”,选择 PROJECT:创建项目,调起页面。
|
- 点击“创建新的项目”;或从文件主菜单-->新建项目;也可以通过 Ctrl+Shift+P 调起命令窗口,输入“创建项目”或“project.createProject”,选择 PROJECT:创建项目,调起页面。
|
||||||
- 在右侧编辑区弹出“创建项目”页面。
|
- 在右侧编辑区弹出“创建项目”页面。
|
||||||
- 页面内包括:
|
|
||||||
- 语言选择树(目前包含 c/c++ 和 Java)
|
|
||||||
- 可以通过点击切换选择不同的语言类型来创建。
|
|
||||||
- 创建项目录入区
|
|
||||||
- 与语言选择树关联,切换不同的语言,会显示不同的录入内容页面。
|
|
||||||
- 包括 关闭、上一步/下一步、创建 等功能按钮
|
|
||||||
|
|
||||||
![图3-0](resources/project-manager/pm-create-project-command.png "命令调起创建项目页面")
|
![图3-0](resources/project-manager/pm-create-project-command.png "命令调起创建项目页面")
|
||||||
|
|
||||||
![图3-1](resources/project-manager/pm-create-project.png "创建项目视图")
|
- 项目创建页面内包括:
|
||||||
|
|
||||||
### 3.1、创建C/C++项目
|
- 全部语言类型:可以选择不同的语言和项目类型的项目列表;
|
||||||
|
- 请选择项目标签:可以选择不同项目标签的项目列表,支持多选;
|
||||||
|
- 快速部署开发环境,可以点击跳转到Kylin-IDE开发环境部署模块;
|
||||||
|
- 项目列表,可以点击图标,进入对应类型项目创建功能;
|
||||||
|
|
||||||
- 在资源管理器展开“项目操作区”
|
### 3.1、创建C/C++项目示例:创建C语言应用项目
|
||||||
- 点击“创建新的项目”,也可以通过 Ctrl+Shift+P 调起命令窗口,输入“创建项目”或“project.createProject”,选择 PROJECT:创建项目,调起页面。
|
|
||||||
- 在右侧编辑区弹出“创建项目”页面。
|
在项目创建页面选择第一行:C语言应用项目
|
||||||
- 选择C/C++ C项目
|
|
||||||
|
|
||||||
#### 3.1.1、第一页
|
#### 3.1.1、第一页
|
||||||
|
|
||||||
- 点击“项目类型”
|
- “项目类型”目前只支持simple项目
|
||||||
- 可以切换选择“默认项目”、“静态库项目”、“动态库项目”。
|
|
||||||
|
|
||||||
![图3-2](resources/project-manager/pm-create-project-c-1st-type.png "选择C/C++项目类型")
|
|
||||||
|
|
||||||
- 点击“项目构建方式”
|
- 点击“项目构建方式”
|
||||||
- 可以切换选择“makefile”、“cmake”。
|
- 可以切换选择“makefile”、“cmake”
|
||||||
|
|
||||||
![图3-3](resources/project-manager/pm-create-project-c-1st-buildtools.png "选择C/C++项目构建方式")
|
|
||||||
|
|
||||||
- 点击下一页
|
- 点击下一页
|
||||||
|
|
||||||
#### 3.1.2、第二页
|
#### 3.1.2、第二页 项目基本信息
|
||||||
|
|
||||||
- 输入合法项目名称(必填)
|
- 输入合法项目名称(必填)
|
||||||
- 选择项目目录(必填)
|
- 选择项目目录(必填)
|
||||||
- 输入更多信息
|
- 输入更多信息
|
||||||
- 点击下一页
|
- 点击下一页
|
||||||
|
|
||||||
![图3-4](resources/project-manager/pm-create-project-c-2nd-page.png "创建C/C++项目第二页")
|
#### 3.1.3、第三页 编译选项
|
||||||
|
|
||||||
#### 3.1.3、第三页
|
|
||||||
|
|
||||||
- 输入合法编译输出文件名(必填)
|
- 输入合法编译输出文件名(必填)
|
||||||
- 输入更多编译调试运行参数
|
- 选择C语言标准(C++项目选择C++标准)
|
||||||
|
- 输入更多编译参数
|
||||||
- 点击创建
|
- 点击创建
|
||||||
|
|
||||||
![图3-5](resources/project-manager/pm-create-project-c-3rd-page.png "创建C/C++项目第三页")
|
|
||||||
|
|
||||||
#### 3.1.4、创建成功
|
#### 3.1.4、创建成功
|
||||||
|
|
||||||
- 弹出 C/C++环境检查通过提示
|
- 弹出 C/C++环境检查通过提示
|
||||||
- 弹出创建项目成功提示
|
- 弹出创建项目成功提示
|
||||||
- 弹出新项目页面(如当前页面未打开项目,则会在本视窗打开)
|
- 弹出新项目页面(如当前页面未打开项目,则会在本视窗打开,如果已打开项目,会弹出询问打开方式)
|
||||||
- 点击“是,我信任此作者”,即可进行后续项目编写使用。
|
- 首次打开新项目会弹出是否信任此文件夹中文件的作者。点击“是,我信任此作者”,即可进行后续项目编写使用。
|
||||||
|
|
||||||
![图3-6](resources/project-manager/pm-create-project-c-created-notice.png "创建C/C++项目成功提示")
|
![图3-5](resources/project-manager/pm-create-project-c-created-ask.png "创建C语言应用项目 成功打开方式")
|
||||||
|
|
||||||
![图3-7](resources/project-manager/pm-create-project-c-created-window.png "创建C/C++项目成功打开项目")
|
![图3-6](resources/project-manager/pm-create-project-c-created-notice.png "创建C语言应用项目 成功提示")
|
||||||
|
|
||||||
### 3.2、创建简单Java项目
|
#### 3.1.5 C/C++其他项目创建
|
||||||
|
|
||||||
- 在资源管理器展开“项目操作区”
|
与C语言应用项目创建流程相似,此处略
|
||||||
- 点击“创建新的项目”,也可以通过 Ctrl+Shift+P 调起命令窗口,输入“创建项目”或“project.
|
|
||||||
createProject”,选择 PROJECT:创建项目,调起页面。
|
### 3.2、创建Java项目
|
||||||
- 在右侧编辑区弹出“创建项目”页面。
|
|
||||||
- 选择Java Java项目
|
- 在项目创建页面选择:Java项目,创建一个简单的Java语言项目
|
||||||
|
|
||||||
#### 3.2.1、输入信息
|
#### 3.2.1、输入信息
|
||||||
|
|
||||||
- 输入合法项目名称(必填)
|
- 输入合法项目名称(必填)
|
||||||
- 选择项目目录(必填)
|
- 选择项目目录(必填)
|
||||||
- 输入 JDK 目录(必填)
|
- 选择已安装jdk或输入JDK目录(必填)
|
||||||
- 输入“输出目录”
|
- 输入“输出目录”
|
||||||
- 点击创建
|
- 点击创建
|
||||||
|
|
||||||
![图3-8](resources/project-manager/pm-create-project-java-1st-page.png "创建Java项目")
|
|
||||||
|
|
||||||
#### 3.2.2、创建成功
|
#### 3.2.2、创建成功
|
||||||
|
|
||||||
- 弹出创建项目成功提示(注:0.1.1 版本缺失,下一版本支持)
|
- 弹出创建项目成功提示
|
||||||
- 弹出新项目页面(如当前页面未打开项目,则会在本视窗打开)
|
- 弹出新项目页面(如当前页面未打开项目,则会在本视窗打开,如果已打开项目,会弹出询问打开方式)
|
||||||
- 点击“是,我信任此作者”,即可进行后续项目编写使用。
|
- 首次打开新项目会弹出是否信任此文件夹中文件的作者。点击“是,我信任此作者”,即可进行后续项目编写使用。
|
||||||
|
|
||||||
<!-- ![图9-1](resources/project-manager/pm-create-project-c-created-notice.png "创建C/C++项目成功提示") -->
|
|
||||||
|
|
||||||
![图3-9](resources/project-manager/pm-create-project-java-created-window.png "创建简单Java项目成功打开项目")
|
|
||||||
|
|
||||||
### 3.3、创建高级Java项目
|
### 3.3、创建高级Java项目
|
||||||
|
|
||||||
- 暂不支持
|
#### 3.3.1 创建基于Maven的Java项目
|
||||||
|
|
||||||
|
基于maven插件,请安装Jave Maven插件。
|
||||||
|
同时需要安装配置maven、jdk环境,注意maven与jdk版本的匹配
|
||||||
|
|
||||||
|
- 未安装maven插件,弹出提示:
|
||||||
|
|
||||||
|
![图3-10](resources/project-manager/pm-create-project-java-maven-install.png "安装maven插件提示")
|
||||||
|
|
||||||
|
- 已安装maven插件,直接调起插件创建功能:
|
||||||
|
|
||||||
|
请根据流程完成创建
|
||||||
|
|
||||||
|
#### 3.3.2 创建基于Gradle的Java项目
|
||||||
|
|
||||||
|
基于gradle插件,请安装Jave Gradle插件使用。
|
||||||
|
同时需要安装配置gradle、jdk环境
|
||||||
|
|
||||||
|
- 未安装gradle插件,弹出提示:
|
||||||
|
|
||||||
|
![图3-10](resources/project-manager/pm-create-project-java-gradle-install.png "安装gradle插件提示")
|
||||||
|
|
||||||
|
- 已安装gradle插件,直接调起插件创建功能:
|
||||||
|
|
||||||
|
请根据插件流程完成创建,注意需要gradle/openjdk等相应环境
|
||||||
|
|
||||||
|
#### 3.3.3 创建SpringBoot项目
|
||||||
|
|
||||||
|
基于开源插件功能,需安装Spring Initializr Java Support(vscjava.vscode-spring-initializr)。需要JDK17以上,maven 3.8.1以上
|
||||||
|
|
||||||
|
- 未安装spring项目创建插件,弹出提示:
|
||||||
|
|
||||||
|
![图3-10](resources/project-manager/pm-create-project-java-spring-install.png "安装spring插件提示")
|
||||||
|
|
||||||
|
- 已安装spring项目创建插件,直接调起插件创建功能。
|
||||||
|
|
||||||
|
请根据插件流程完成创建,注意需要maven/gradle/openjdk等相应环境
|
||||||
|
|
||||||
|
![图3-11](resources/project-manager/pm-create-project-java-spring-create.png "构建SpringBoot项目")
|
||||||
|
|
||||||
|
|
||||||
## 4、配置当前项目
|
## 4、配置当前项目
|
||||||
|
- 需要了解基本的task.json、launch.json配置方法,见[如何配置工程的构建、调试、运行章节](./如何配置工程的构建-调试-运行.md)
|
||||||
|
- 项目操作区的配置按钮可以看作是操作task.json和launch.json的快捷方式。也可以通过菜单方式等创建,或直接创建文件
|
||||||
|
|
||||||
### 4.1、配置C/C++项目
|
## 5、构建
|
||||||
|
|
||||||
- 打开刚才创建的 C/C++项目 testC
|
构建按钮,为项目开发提供快捷操作
|
||||||
- 点击“配置当前项目”
|
- 依赖tasks.json文件中的定义
|
||||||
- 在右侧编辑区弹出“配置项目”页面。
|
- 点击构建按钮会执行tasks.json中label为build的task或类型为build的task
|
||||||
- 可修改项目编译输出文件内容。
|
|
||||||
- 可选择修改编译、调试、运行参数。
|
|
||||||
- 第二页点击保存,显示“保存成功”。完成项目编译、调试、运行参数的配置。
|
|
||||||
|
|
||||||
![图4-1](resources/project-manager/pm-project-c-settings.png "C/C++项目配置")
|
|
||||||
|
|
||||||
#### 4.1.1、配置详细介绍
|
|
||||||
|
|
||||||
- 项目识别:
|
|
||||||
包含vsproject.ide.json文件,内容为json数据
|
|
||||||
- 有"language"属性
|
|
||||||
|
|
||||||
属性值为"c"、"c++"
|
|
||||||
|
|
||||||
- 有"buildTools"属性
|
|
||||||
|
|
||||||
属性值为"makefile"、"cmake"
|
|
||||||
|
|
||||||
- tasks.json配置文件
|
|
||||||
- 文件位置:.vscode/
|
|
||||||
- 文件作用:用来告诉 IDE 如何构建(编译)程序
|
|
||||||
- testC项目的tasks.json实例
|
|
||||||
|
|
||||||
说明:该build脚本,用来实现对testC项目进行编译,本实例是通过makefile实现编译。
|
|
||||||
|
|
||||||
``` json
|
|
||||||
{
|
|
||||||
"version": "2.0.0",
|
|
||||||
"tasks": [
|
|
||||||
{
|
|
||||||
"label": "build",
|
|
||||||
"type": "shell",
|
|
||||||
"group": {
|
|
||||||
"kind": "build",
|
|
||||||
"isDefault": true
|
|
||||||
},
|
|
||||||
"linux": {
|
|
||||||
"command": "bash",
|
|
||||||
"args": [
|
|
||||||
"-c",
|
|
||||||
"make"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
...
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
- Makefile 与配置关系
|
|
||||||
本testC项目中,Makefile文件内预制了编译和运行参数。
|
|
||||||
例如:
|
|
||||||
- 用户在配置页面修改“编译输出文件”内容,并保存时。
|
|
||||||
实际Makefile文件内的 KConfig_outputFileName 值会跟随改变。
|
|
||||||
这样当IDE执行项目编译,调用tasks.json的build项,执行make build时,实际生成的编译输出文件会跟随Makefile文件内的KConfig_outputFileName 定义而改变。
|
|
||||||
|
|
||||||
``` makefile
|
|
||||||
# KylinCode 编译配置项
|
|
||||||
KConfig_outputFileName = main
|
|
||||||
KConfig_compileDebugLevel = -g
|
|
||||||
KConfig_WarningLevel =
|
|
||||||
KConfig_OptimizeLevel =
|
|
||||||
KConfig_ExtraPara =
|
|
||||||
KConfig_IncludesPath =
|
|
||||||
KConfig_LibraryPath =
|
|
||||||
KConfig_Libraries =
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
- 其他配置项修改原理与“编译输出文件”相同。
|
|
||||||
- cmake类型与makefile原理相同。
|
|
||||||
|
|
||||||
### 4.2、配置Java项目
|
|
||||||
|
|
||||||
- 打开刚才创建的 Java 项目 testJava
|
|
||||||
- 点击“配置当前项目”
|
|
||||||
- 在右侧编辑区弹出“配置项目”页面。
|
|
||||||
|
|
||||||
![图4-2](resources/project-manager/pm-project-java-settings.png "Java项目配置")
|
|
||||||
|
|
||||||
- 打开调试配置文件 launch.json,如下代码。用来支持java项目的调试功能。
|
|
||||||
|
|
||||||
``` json
|
|
||||||
{
|
|
||||||
"version": "0.2.0",
|
|
||||||
"configurations": [
|
|
||||||
{
|
|
||||||
"type": "java",
|
|
||||||
"name": "Launch Current File",
|
|
||||||
"request": "launch",
|
|
||||||
"mainClass": "${file}",
|
|
||||||
"args": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "java",
|
|
||||||
"name": "Launch App",
|
|
||||||
"request": "launch",
|
|
||||||
"mainClass": "testgradle.App",
|
|
||||||
"projectName": "app"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
- 打开任务文件 tasks.json,如下文,用来支持项目的编译和调试功能;
|
|
||||||
|
|
||||||
``` json
|
|
||||||
{
|
|
||||||
"version": "2.0.0",
|
|
||||||
"tasks": [
|
|
||||||
{
|
|
||||||
"label": "build",
|
|
||||||
"type": "shell",
|
|
||||||
"options": {
|
|
||||||
"cwd": "${workspaceFolder}"
|
|
||||||
},
|
|
||||||
"command": "javac",
|
|
||||||
"args": [
|
|
||||||
"src/main.java",
|
|
||||||
"-sourcepath",
|
|
||||||
"src",
|
|
||||||
"-classpath",
|
|
||||||
"${config:java.project.referencedLibraries}",
|
|
||||||
"-d",
|
|
||||||
"${config:java.project.outputPath}"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "run",
|
|
||||||
"type": "shell",
|
|
||||||
"options": {
|
|
||||||
"cwd": "${workspaceFolder}"
|
|
||||||
},
|
|
||||||
"command": "java",
|
|
||||||
"args": [
|
|
||||||
"-cp",
|
|
||||||
"${config:java.project.outputPath}",
|
|
||||||
"main"
|
|
||||||
],
|
|
||||||
"dependsOn": [
|
|
||||||
"javac"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "clean",
|
|
||||||
"type": "shell",
|
|
||||||
"options": {
|
|
||||||
"cwd": "${workspaceFolder}"
|
|
||||||
},
|
|
||||||
"command": "rm $(find . -name \"*.class\")"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
- 打开 Java 类路径配置
|
|
||||||
可以修改源码路径、输出路径、添加依赖库等;修改结果会保存在settings.json内
|
|
||||||
![图4-2](resources/project-manager/pm-project-java-settings-classpath.png "Classpath Configuration")
|
|
||||||
|
|
||||||
- 打开打开工作区设置页。
|
|
||||||
- 打开工作区设置 json 文件。
|
|
||||||
|
|
||||||
### 4.3、配置Other项目
|
|
||||||
|
|
||||||
- 打开其他类型的测试项目
|
|
||||||
- 点击“配置当前项目”
|
|
||||||
- 在右侧编辑区弹出“配置项目”页面。
|
|
||||||
|
|
||||||
![图4-2](resources/project-manager/pm-project-other-settings.png "Java项目配置")
|
|
||||||
包括以下:
|
|
||||||
- 打开调试配置文件launch.json,点击可以打开文件编辑调试配置。(如当前项目没有,会弹出创建选择)
|
|
||||||
创建方法如下:
|
|
||||||
|
|
||||||
- 点击菜单中的运行->添加配置
|
|
||||||
|
|
||||||
![图4](./resources/java/add-launch.png)
|
|
||||||
|
|
||||||
- launch.json文件创建成功
|
|
||||||
- 打开任务文件 tasks.json,点击可以打开文件编辑编译运行任务。(如果当前项目没有,会弹出创建选择)
|
|
||||||
|
|
||||||
创建方法如下:
|
|
||||||
|
|
||||||
- 点击菜单中的终端->配置任务->使用模板创建tasks.json文件->others
|
|
||||||
- tasks.json文件创建成功
|
|
||||||
|
|
||||||
创建的tasks.json默认内容如下:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"version": "2.0.0",
|
|
||||||
"tasks": [
|
|
||||||
{
|
|
||||||
"label": "echo",
|
|
||||||
"type": "shell",
|
|
||||||
"command": "echo Hello"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
- 根据项目情况修改tasks.json文件,以testJava为例修改后内容如下:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"label": "build",
|
|
||||||
"type": "shell",
|
|
||||||
"options": {
|
|
||||||
"cwd": "${workspaceFolder}"
|
|
||||||
},
|
|
||||||
"command": "javac",
|
|
||||||
"args": [
|
|
||||||
"src/main.java",
|
|
||||||
"-sourcepath",
|
|
||||||
"src",
|
|
||||||
"-classpath",
|
|
||||||
"${config:java.project.referencedLibraries}",
|
|
||||||
"-d",
|
|
||||||
"${config:java.project.outputPath}"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "run",
|
|
||||||
"type": "shell",
|
|
||||||
"options": {
|
|
||||||
"cwd": "${workspaceFolder}"
|
|
||||||
},
|
|
||||||
"command": "java",
|
|
||||||
"args": [
|
|
||||||
"-cp",
|
|
||||||
"${config:java.project.outputPath}",
|
|
||||||
"main"
|
|
||||||
],
|
|
||||||
"dependsOn": [
|
|
||||||
"javac"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
修改后,即可支持通过任务进行编译、运行等操作。
|
|
||||||
|
|
||||||
## 5、编译
|
|
||||||
|
|
||||||
编译功能入口,为项目开发提供快捷操作。
|
|
||||||
|
|
||||||
- 依赖.vscode/tasks.json 文件定义。
|
|
||||||
- 点击会打开tasks.json的 build项目执行,通过终端执行编译。
|
|
||||||
|
|
||||||
![编译](resources/project-manager/pm-build.png "项目编译")
|
|
||||||
|
|
||||||
## 6、运行
|
## 6、运行
|
||||||
|
|
||||||
运行功能入口,为项目开发提供快捷操作。
|
运行功能入口,为项目开发提供快捷操作
|
||||||
|
|
||||||
- 依赖.vscode/tasks.json 文件定义。
|
- 依赖tasks.json文件定义
|
||||||
- 点击会打开tasks.json的所有项目,选择run项目,选择继续而不扫描任务输出,通过终端执行程序运行。
|
- 点击会列出tasks.json中定义的task列表,选择一个task,选择继续而不扫描任务输出,通过终端执行程序运行
|
||||||
|
|
||||||
![运行](resources/project-manager/pm-run.png "项目运行")
|
|
||||||
![运行终端](resources/project-manager/pm-run-terminal.png "项目运行终端")
|
|
||||||
|
|
||||||
## 7、调试
|
## 7、打开运行和调试页面
|
||||||
|
|
||||||
调试功能入口,点击进入“调试”功能
|
调试功能入口,点击进入运行和调试页面
|
||||||
|
|
||||||
- 依赖.vscode/launch.json文件
|
- 依赖launch.json文件
|
||||||
- 点击“调试”按钮,进入调试页面。
|
- 点击“打开运行和调试页面”按钮,进入运行和调试页面。
|
||||||
|
|
||||||
![没有项目调试配置文件](resources/project-manager/pm-debug-empty.png "没有项目调试配置文件")
|
![没有项目调试配置文件](resources/project-manager/pm-debug-empty.png "没有项目调试配置文件")
|
||||||
|
|
||||||
|
@ -401,11 +198,6 @@ createProject”,选择 PROJECT:创建项目,调起页面。
|
||||||
|
|
||||||
![创建项目调试配置文件](resources/project-manager/pm-debug-createlaunch.png "创建项目调试配置文件")
|
![创建项目调试配置文件](resources/project-manager/pm-debug-createlaunch.png "创建项目调试配置文件")
|
||||||
|
|
||||||
- 弹出选择调试器,请根据项目类型选择相应的调试器。
|
- 弹出调试器类型列表,请根据项目编程语言和类型选择相应的调试器类型
|
||||||
- 创建完成,会进入运行调试页面。可以按项目需要修改launch.json,可以点击左侧选择需要的调试配置项
|
- 创建完成,会进入运行调试页面。可以按项目需要修改launch.json,可以点击左侧选择需要的调试配置项
|
||||||
|
- 点击绿色三角开始调试
|
||||||
![进入运行调试页面](resources/project-manager/pm-debug-launchcreated.png "进入运行调试页面")
|
|
||||||
|
|
||||||
- 点击绿色三角开始调试。
|
|
||||||
|
|
||||||
![开始调试](resources/project-manager/pm-debug-running.png "开始调试")
|
|