修改C开发、Java开发、WebIDE等多个文档

This commit is contained in:
muruichao 2024-11-06 17:24:32 +08:00
parent 22666b0844
commit b05e7aa4cb
44 changed files with 401 additions and 901 deletions

3
user-guide/.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"java.jdt.ls.java.home": ""
}

View File

@ -1,330 +1,60 @@
# C-C++开发
- [环境准备](#1-环境准备)
- [C-C++项目创建与编辑](#2-cc项目创建与编辑)
- [编译与运行](#3编译与运行)
- [调试](#4调试)
- [1.环境准备](#1环境准备)
- [2.C/C++项目(工程)操作](#2cc项目工程操作)
- [3.编辑、构建、调试、运行配置](#3编辑构建调试运行配置)
# 1 环境准备
# 1.环境准备
## 1.1 通过开发环境快速部署安装
- 点击帮助菜单中的“打开开发环境快速部署”子菜单选择C/C++选项进行安装将安装系统软件源中的编译调试工具和C/C++基础支持插件
- 具体可参考[开发环境快速部署章节](./开发环境快速部署.md)
## 1.2 手动安装
## 1.2.1 安装C/C++基础支持插件
- Clangd插件安装(该clangd插件ID是KylinIDETeam.vscode-clangd插件的发布者是KylinIdeTeam。该插件为C/C++提供补全、导航和检查等语法功能)
- 启动IDE基础平台
- 点击活动栏中的插件图标,调出插件视图
- 在插件视图中找到KYLIN-IDE推荐的插件选择Kylin-IDE(KylinCode)插件分类->C语言支持
- 点击Clangd进行安装
- 编辑支持Kylin Clangd插件(该插件为C/C++提供补全、导航和检查等语法功能kylinideteam.vscode-clangd)
* 插件安装方法如下,或参考[如何检索和安装插件章节](./如何检索和安装插件.md),其他插件安装方法类似,不再赘述
- 启动IDE基础平台
- 点击活动栏中的插件图标,调出插件视图
- 在插件视图中找到KYLIN-IDE推荐的插件选择Kylin-IDE(KylinCode)插件分类->C语言支持
- 点击Kylin Clangd进行安装
- Native Debug插件安装(ID:KylinIdeTeam.debug,该插件提供C/C++调试功能)
- 启动IDE基础平台
- 点击活动栏中的插件图标,调出插件视图。
- 在插件视图中找到KYLIN-IDE推荐的插件选择Kylin-IDE(KylinCode)插件分类->C语言支持
- 点击Native Debug安装
- 调试支持C/C++ Debug(gdb)插件 或 Kylin Native Debug插件
* C/C++ Debug(gdb)插件kylinideteam.cppdebug
- 优点调试功能体验优于Kylin Native Debug
- 缺点:插件体积大,下载慢,最好直接从[仓库下载](https://gitee.com/quanzhuo/cpp-debug/releases)仅支持X86和ARM架构
* 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 安装系统软件依赖
- 安装clangdClangd代码编辑插件依赖
- 安装clangdKylin Clangd代码编辑插件依赖
* 命令举例:`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`
- 安装gdb调试插件依赖
* 命令举例:`apt install gdb`或`yum install gdb`
# 2 C/C++项目创建与编辑
# 2.C/C++项目(工程)操作
## 2.1 已有项目
- 对于已有项目在IDE基础平台中中打开项目文件夹
* 点击文件主菜单 -> 打开文件夹
## 2.1 新建项目
- 安装Kylin Project Manager插件(安装方法见上文)
- 新建项目方法见[项目管理章节](./项目管理.md)
## 2.1 项目创建
### 2.1.1 C/C++程序简单创建
- 创建c项目
- 在终端创建文件夹CProject
- 启动通用集成开发环境,点击文件->打开文件夹选择CProject
- 点击新建文件图标创建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.jsontasks.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)
## 3.编辑、构建、调试、运行配置
- 编辑支持需要了解Kylin Clangd插件和系统软件clangd的基本配置方法具体见如下章节
* [任意C/C++工程如何使跳转等编辑功能正常工作clangd](./任意C-C++项目如何使跳转等编辑功能正常工作.md)
- 项目的构建、调试、运行配置请参考以下章节
* [如何配置工程的构建、调试、运行](./如何配置工程的构建-调试-运行.md)
- C/C++ Debug(gdb)插件 和 Kylin Native Debug插件的launch.json具体如何配置见插件readme
* 在最左侧点击插件图标打开插件视图在列表中找到插件条目点击插件条目即可查看插件readme

View File

@ -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版本有对应关系
* 在互联网上容易检索到JDK版本对应的最低maven版本
* 在JDK17环境中系统上的maven软件包可能不符合要求需要从maven官网或从其他渠道安装高版本maven软件
包括java编辑、编译、运行、调试等过程。
## 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`则按以下顺序做搜索找到一个满足最低环境的JDK11JDK
* `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`
- 注意若系统中安装了多个JDKtask.json中command字段中若需调用javac、java命令有些方法可以区分调用的是哪个JDK中的命令
* 方法1调用命令时写命令的绝对路径直接写明从哪个JDK中调用
* 方法2使用update-alternatives命令修改好系统默认的相关命令在命令行中确认修改生效task.json中即可直接使用java或javac命令
## 2、环境准备
## 项目(工程)管理
- 已有项目
* 打开项目文件夹Java支持插件会对项目进行解析
- 系统安装Java开发工具包JDK 11+。如果您还没有安装JDK请从官方源安装或者自行下载安装。
- 创建项目
* 安装项目创建插件Kylin Project Manager(kylinideteam.project-manager)注意spring boot项目仅在JDK17环境中支持
* 安装插件后,入口:文件主菜单-->新建项目
* Java类项目创建主要基于开源插件提供支持
* 详细见[项目管理章节](./项目管理)
``` shell
sudo apt install openjdk-11-jdk
```
- 在IDE软件中安装Java扩展。
- 启动IDE软件
- 点击活动栏中的插件图标,调出插件视图。
- 在插件视图中找到KYLIN-IDE推荐的插件选择Kylin-IDE(KylinCode)插件分类->Java语言支持
![图1](./resources/java/extension-list.png "Java语言支持插件查看")
- 通过以上步骤找到java语言相关插件Java Pack Support openjdk11 runtime
- Java Pack Support openjdk11 runtime插件安装
点击插件右下角的安装图标进行安装操作。
会自动安装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": [
- 项目配置
* 需要了解基本的task.json、launch.json配置方法见[如何配置工程的构建、调试、运行章节](./如何配置工程的构建-调试-运行.md)
* 在项目操作区中左侧资源管理器视图下方的折叠菜单可执行构建操作或task中的其他任务
* 一个简单Java项目task.json的配置例子如下
```json
{
"label": "echo",
"label": "build",
"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
{
"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"
]
}
```
#### 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项目的调试过程。
## 调试
- 一键调试
* 对于简单的Java程序文件的调试不需要进行配置点击调试按钮或菜单可以直接调试
- 对于较复杂的Java程序需要配置launch.json
* 配置方法见[如何配置工程的构建、调试、运行章节](./如何配置工程的构建-调试-运行.md)和Java Debug插件readme
- 在最左侧点击插件图标打开插件视图在列表中找到插件条目点击插件条目即可查看插件readme

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
user-guide/files/resources/project-manager/pm-build.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 106 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

After

Width:  |  Height:  |  Size: 176 KiB

View File

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 KiB

After

Width:  |  Height:  |  Size: 228 KiB

View File

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 86 KiB

View File

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

View File

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

0
user-guide/files/resources/project-manager/pm-link.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 210 KiB

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 94 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

BIN
user-guide/files/resources/project-manager/pm-run.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 101 KiB

View File

@ -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`文件中记录了当前使用的配置文件路径
* 在配置文件中可以看到安装选项和安装列表,如希望手动安装,可以参考配置文件内容

View File

@ -9,9 +9,10 @@
- [提示信息管理](#6提示信息管理)
- [插件安装、多语言开发、调试功能使用](#7插件安装多语言开发调试功能使用)
- [卸载](#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机器上的应用
* 跨系统在Windows上安装客户端远程开发银河麒麟操作系统上的软件Windows客户端正在开发中
@ -149,3 +150,41 @@
- 客户端卸载
- 使用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相关配置也可在此配置文件直接添加。
```

View File

@ -1,398 +1,195 @@
# 项目管理插件安装使用说明
# 项目管理
## 1、插件安装
- 通过插件筛选器,找到 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 "项目管理已安装")
- 点击最左侧插件图标通过Kylin-IDE推荐插件或直接检索找到 Kylin Project Manager(kylinideteam.project-manager)插件并安装
## 2、项目管理插件操作区
- 在资源管理器展开“项目操作区”
- 提供项目创建、配置、编译、调试、运行、打包等相关功能入口
- 在资源管理器视图展开“项目操作区”,包括:
> 基本操作、任务列表、调试配置列表、执行Node.js配置脚本等
![图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、创建新的项目
- 点击“创建新的项目”,也可以通过 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-1](resources/project-manager/pm-create-project.png "创建项目视图")
- 项目创建页面内包括:
### 3.1、创建C/C++项目
- 全部语言类型:可以选择不同的语言和项目类型的项目列表;
- 请选择项目标签:可以选择不同项目标签的项目列表,支持多选;
- 快速部署开发环境可以点击跳转到Kylin-IDE开发环境部署模块
- 项目列表,可以点击图标,进入对应类型项目创建功能;
- 在资源管理器展开“项目操作区”
- 点击“创建新的项目”,也可以通过 Ctrl+Shift+P 调起命令窗口输入“创建项目”或“project.createProject”选择 PROJECT:创建项目,调起页面。
- 在右侧编辑区弹出“创建项目”页面。
- 选择C/C++ C项目
### 3.1、创建C/C++项目示例:创建C语言应用项目
在项目创建页面选择第一行C语言应用项目
#### 3.1.1、第一页
- 点击“项目类型”
- 可以切换选择“默认项目”、“静态库项目”、“动态库项目”。
![图3-2](resources/project-manager/pm-create-project-c-1st-type.png "选择C/C++项目类型")
- “项目类型”目前只支持simple项目
- 点击“项目构建方式”
- 可以切换选择“makefile”、“cmake”。
![图3-3](resources/project-manager/pm-create-project-c-1st-buildtools.png "选择C/C++项目构建方式")
- 可以切换选择“makefile”、“cmake”
- 点击下一页
#### 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、创建成功
- 弹出 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++其他项目创建
- 在资源管理器展开“项目操作区”
- 点击“创建新的项目”,也可以通过 Ctrl+Shift+P 调起命令窗口输入“创建项目”或“project.
createProject”选择 PROJECT:创建项目,调起页面。
- 在右侧编辑区弹出“创建项目”页面。
- 选择Java Java项目
与C语言应用项目创建流程相似此处略
### 3.2、创建Java项目
- 在项目创建页面选择Java项目,创建一个简单的Java语言项目
#### 3.2.1、输入信息
- 输入合法项目名称(必填)
- 选择项目目录(必填)
- 输入 JDK 目录(必填)
- 选择已安装jdk或输入JDK目录(必填)
- 输入“输出目录”
- 点击创建
![图3-8](resources/project-manager/pm-create-project-java-1st-page.png "创建Java项目")
#### 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.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、配置当前项目
- 需要了解基本的task.json、launch.json配置方法见[如何配置工程的构建、调试、运行章节](./如何配置工程的构建-调试-运行.md)
- 项目操作区的配置按钮可以看作是操作task.json和launch.json的快捷方式。也可以通过菜单方式等创建或直接创建文件
### 4.1、配置C/C++项目
## 5、构建
- 打开刚才创建的 C/C++项目 testC
- 点击“配置当前项目”
- 在右侧编辑区弹出“配置项目”页面。
- 可修改项目编译输出文件内容。
- 可选择修改编译、调试、运行参数。
- 第二页点击保存,显示“保存成功”。完成项目编译、调试、运行参数的配置。
![图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 "项目编译")
构建按钮,为项目开发提供快捷操作
- 依赖tasks.json文件中的定义
- 点击构建按钮会执行tasks.json中label为build的task或类型为build的task
## 6、运行
运行功能入口,为项目开发提供快捷操作
运行功能入口,为项目开发提供快捷操作
- 依赖.vscode/tasks.json 文件定义
- 点击会打开tasks.json的所有项目选择run项目,选择继续而不扫描任务输出,通过终端执行程序运行
- 依赖tasks.json文件定义
- 点击会列出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 "没有项目调试配置文件")
@ -401,11 +198,6 @@ createProject”选择 PROJECT:创建项目,调起页面。
![创建项目调试配置文件](resources/project-manager/pm-debug-createlaunch.png "创建项目调试配置文件")
- 弹出选择调试器,请根据项目类型选择相应的调试器。
- 弹出调试器类型列表,请根据项目编程语言和类型选择相应的调试器类型
- 创建完成会进入运行调试页面。可以按项目需要修改launch.json可以点击左侧选择需要的调试配置项
![进入运行调试页面](resources/project-manager/pm-debug-launchcreated.png "进入运行调试页面")
- 点击绿色三角开始调试。
![开始调试](resources/project-manager/pm-debug-running.png "开始调试")
- 点击绿色三角开始调试