修改配置功能页面内部相关问题

This commit is contained in:
zhangyun 2024-11-05 11:42:29 +08:00
parent 3c72f64fc3
commit c75aff0aa3
14 changed files with 194 additions and 64 deletions

View File

@ -15,8 +15,8 @@
- 在资源管理器展开“项目操作区”
- 基本操作:提供项目创建、配置、构建、调试、运行等相关功能入口;
- 任务列表通过解析当前工作区第一个项目的tasks.json显示各个任务按钮悬停显示任务信息点击可以执行具体任务。
- 调试配置列表通过解析当前工作区第一个项目的launch.json显示各个调试按钮悬停显示调试信息点击可以进入调试页面执行该调试。
- 任务列表通过解析当前工作区第一个项目的tasks.json显示各个任务按钮悬停显示任务信息点击执行具体任务。
- 调试配置列表通过解析当前工作区第一个项目的launch.json显示各个调试按钮悬停显示调试信息点击进入调试页面执行该调试。
- 执行CMake/Makefile通过通过解析当前工作区第一个项目的CMakeLists.txt/Makefile显示各个构建工具命令点击调起终端执行。暂不支持
- 执行Node.js配置脚本通过解析当前工作区第一个项目的package.json显示脚本按钮悬停显示脚本信息点击调起终端通过npm执行。
- 如果项目内容发生变化,可点击右上角刷新图标刷新操作区;
@ -236,14 +236,14 @@ createProject”选择 PROJECT:创建项目,调起页面。
- 在右侧编辑区弹出“配置项目”页面。
包括以下:
- 打开调试配置文件launch.json点击可以打开文件编辑调试配置。(如当前项目没有,会弹出创建选择)
- 编辑调试配置文件launch.json点击打开文件编辑调试配置。(如当前项目没有,会弹出创建选择)
创建方法如下:
- 点击菜单中的运行->添加配置
- launch.json文件创建成功
- 打开任务文件 tasks.json点击可以打开文件编辑编译、运行等任务。(如果当前项目没有,会弹出创建选择)
- 编辑task配置文件tasks.json点击打开文件编辑编译、运行等任务。(如果当前项目没有,会弹出创建选择)
创建方法如下:

View File

@ -14,13 +14,13 @@ button{
display: block;
/* margin: 0px auto; */
font-size: 13px;
min-height: 28px;
padding: 2px;
min-height: 25px;
padding: 1px;
flex-grow: 1;
cursor: pointer;
/* margin-right: -30px; */
margin-bottom: 2px;
margin-top: 2px;
margin-bottom: 1px;
margin-top: 1px;
}
.button-sections {
display: flex;

View File

@ -473,7 +473,7 @@ export class BaseManager {
* @param vsprojectidejson
* @returns
*/
public buildJsonOption = async (vsprojectidejson: any|undefined) => {
public buildJsonOption = async () => {
console.log("buildJsonOption");
var workspacePath = utils.getWorkspaceFolderPath();
var otherProjectOption = <JsonConfig>{};
@ -534,18 +534,11 @@ export class BaseManager {
}
otherProjectOption.projectType =
vsprojectidejson !== undefined &&
vsprojectidejson["language"] !== undefined
? vsprojectidejson["language"]
: utils.isJavaDependencyExtensionActive()
utils.isJavaDependencyExtensionActive()
? ProjectType.java
: ProjectType.other;
otherProjectOption.projectSubType =
vsprojectidejson !== undefined &&
vsprojectidejson["template"] !== undefined
? vsprojectidejson["template"]
: "";
otherProjectOption.projectSubType = "";
console.log(otherProjectOption);
return otherProjectOption;
};

View File

@ -130,6 +130,9 @@ export class ConfigPage extends BaseManager {
// } else {
// utils.showError(message);
// }
}else if(utils.isJavaDependencyExtensionActive()){
// java
this.projectManager.javaObject.onReceiveListenerConf(viewPanel, message);
}else{
this.projectManager.otherObject.onReceiveListenerConf(viewPanel, message);
}

View File

@ -262,7 +262,7 @@ export class GoManager extends BaseManager {
var projectOption = <LangProConfig>{};
//获取基础json
let jsonOption = await this.buildJsonOption(vsprojectidejson);
let jsonOption = await this.buildJsonOption();
projectOption.jsonObjs = jsonOption.jsonObjs;
projectOption.projectPath = jsonOption.projectPath;
projectOption.projectType = jsonOption.projectType;

View File

@ -220,13 +220,13 @@ export class JavaManager extends BaseManager {
return msg;
};
buildProjectOption = async (vsprojectidejson: any) => {
buildProjectOption = async () => {
var workspacePath = utils.getWorkspaceFolderPath();
var javaProjectOption = <LangProConfig>{};
//获取基础json
let jsonOption = await this.buildJsonOption(vsprojectidejson);
let jsonOption = await this.buildJsonOption();
javaProjectOption.jsonObjs = jsonOption.jsonObjs;
javaProjectOption.projectPath = jsonOption.projectPath;
javaProjectOption.projectType = jsonOption.projectType;
@ -258,8 +258,7 @@ export class JavaManager extends BaseManager {
*/
onReceiveListenerConf = async (
viewPanel: WebviewPanel,
message: any,
vsprojectidejson: any
message: any
) => {
console.log("onReceiveListenerConf");
if (vscode.workspace.workspaceFolders === undefined || vscode.workspace.workspaceFolders.length<1) {
@ -294,7 +293,7 @@ export class JavaManager extends BaseManager {
//接收的关键字为“SHOW_CONFIG”则获取信息向webview发送信息数据
else if (message.type === "SHOW_CONFIG") {
var javaProjectOption = await this.buildProjectOption(vsprojectidejson);
var javaProjectOption = await this.buildProjectOption();
// 发送消 息
viewPanel.webview.postMessage({
// 消息类型:

View File

@ -172,7 +172,7 @@ export class JsManager extends BaseManager {
var projectOption = <LangProConfig>{};
//获取基础json
let jsonOption = await this.buildJsonOption(vsprojectidejson);
let jsonOption = await this.buildJsonOption();
projectOption.jsonObjs = jsonOption.jsonObjs;
projectOption.projectPath = jsonOption.projectPath;
projectOption.projectType = jsonOption.projectType;

View File

@ -79,7 +79,7 @@ export class OtherManager extends BaseManager {
//接收的关键字为“SHOW_CONFIG”则获取信息向webview发送信息数据
else if (message.type === "SHOW_CONFIG") {
var otherProjectOption = await this.buildJsonOption(undefined);
var otherProjectOption = await this.buildJsonOption();
// 发送消息
viewPanel.webview.postMessage({
// 消息类型:

View File

@ -171,7 +171,7 @@ export class PythonManager extends BaseManager {
var projectOption = <LangProConfig>{};
//获取基础json
let jsonOption = await this.buildJsonOption(vsprojectidejson);
let jsonOption = await this.buildJsonOption();
projectOption.jsonObjs = jsonOption.jsonObjs;
projectOption.projectPath = jsonOption.projectPath;
projectOption.projectType = jsonOption.projectType;

View File

@ -756,7 +756,7 @@
},
{
"type": "url-command",
"label": "language.config-java-classpath",
"label": "",
"command":"java.classpathConfiguration",
"extensionId": "KylinIDETeam.vscode-java-pack",
"extensionName": "Extension Pack for Java",
@ -776,6 +776,38 @@
"command":"workbench.action.openSettingsJson",
"param": "",
"desc": "language.openSettingJson"
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.openSettings",
"param": "",
"desc": "language.openSetting",
"span": 6
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.openSettingsJson",
"param": "",
"desc": "language.openSettingJson",
"span": 16
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.openWorkspaceSettings",
"param": "",
"desc": "language.openWorkspaceSetting",
"span": 6
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.openWorkspaceSettingsFile",
"param": "",
"desc": "language.openWorkspaceSettingJson",
"span": 16
}
]
],
@ -809,14 +841,32 @@
"label": "",
"command":"workbench.action.openSettings",
"param": "",
"desc": "language.openSetting"
"desc": "language.openSetting",
"span": 6
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.openSettingsJson",
"param": "",
"desc": "language.openSettingJson"
"desc": "language.openSettingJson",
"span": 16
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.openWorkspaceSettings",
"param": "",
"desc": "language.openWorkspaceSetting",
"span": 6
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.openWorkspaceSettingsFile",
"param": "",
"desc": "language.openWorkspaceSettingJson",
"span": 16
}
]
]

View File

@ -45,14 +45,91 @@
"label": "",
"command":"workbench.action.openSettings",
"param": "",
"desc": "language.openSetting"
"desc": "language.openSetting",
"span": 6
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.openSettingsJson",
"param": "",
"desc": "language.openSettingJson"
"desc": "language.openSettingJson",
"span": 16
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.openWorkspaceSettings",
"param": "",
"desc": "language.openWorkspaceSetting",
"span": 6
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.openWorkspaceSettingsFile",
"param": "",
"desc": "language.openWorkspaceSettingJson",
"span": 16
}
]
],
"other": [
[
{
"type": "text",
"model": "projectPath",
"label": "language.project-path",
"placeholder": "",
"default": "",
"desc": "",
"readonly": "true"
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.debug.configure",
"param": "",
"desc": "language.clickto-open-workspace-launch-file"
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.tasks.configureTaskRunner",
"param": "",
"desc": "language.clickto-open-tasks-file"
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.openSettings",
"param": "",
"desc": "language.openSetting",
"span": 6
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.openSettingsJson",
"param": "",
"desc": "language.openSettingJson",
"span": 16
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.openWorkspaceSettings",
"param": "",
"desc": "language.openWorkspaceSetting",
"span": 6
},
{
"type": "url-command",
"label": "",
"command":"workbench.action.openWorkspaceSettingsFile",
"param": "",
"desc": "language.openWorkspaceSettingJson",
"span": 16
}
]
]

View File

@ -71,23 +71,23 @@
"java-web-project": "Java web project",
"java-web-project-description": "Create a Web Java language demo project",
"c-project": "C application project",
"c-project-description": "Create a demo project in C language running on a Linux terminal console and print \"Hello World\".",
"c-project-description": "Create a demo project in C language running on a Linux terminal console and print \"Hello World\"",
"c-library-project": "C library project",
"c-library-project-description": "Create a library project in C language that includes both dynamic and static libraries, and support both Makefile and Cmake build tools",
"cplus-project": "C++ application project",
"cplus-project-description": "Create a demo project in C++ language running on a Linux terminal console and print \"Hello World\".",
"cplus-project-description": "Create a demo project in C++ language running on a Linux terminal console and print \"Hello World\"",
"cplus-gui-project": "C++ GUI application project",
"cplus-gui-project-description": "Create a demo application in C++ language running on a Linux terminal console and print",
"cplus-library-project": "C++ library project",
"cplus-library-project-description": "Create a library project in C++ language that includes both dynamic and static libraries, and support both Makefile and Cmake build tools",
"go-project": "Go project",
"go-project-description": "Create a demo project in Go language running on terminal console and print \"Hello World\".",
"go-project-description": "Create a demo project in Go language running on terminal console and print \"Hello World\"",
"python-project": "Python project",
"python-project-description": "Create a demo project in Python language running on terminal console and print \"Hello World\".",
"python-project-description": "Create a demo project in Python language running on terminal console and print \"Hello World\"",
"js-project": "JavaScript project",
"js-project-description": "Create a demo project in JavaScript language running on terminal console and print \"Hello World\".",
"js-project-description": "Create a demo project in JavaScript language running on terminal console and print \"Hello World\"",
"qt-project": "Qt Project",
"qt-project-description": "Create Qt project based on Qt Support.",
"qt-project-description": "Create Qt project based on Qt Support",
"qt-widgets-project": "Qt Widgets Project",
"qt-project-title": "Create Qt Console Project",
@ -208,7 +208,7 @@
"PackageLicense": "* License",
"PackageLicenseExplain": "package license eg:GPL",
"PackageSummary": "* Summary",
"PackageSummaryExplain": "A brief introduction to the package eg:A fictional open source package for the offering.",
"PackageSummaryExplain": "A brief introduction to the package eg:A fictional open source package for the offering",
"PackageURL": "URL",
"PackageURLExplain": "Current package source code address eg:http://www.example.com/myapp",
"PackageGroup": "Software Group",
@ -299,7 +299,7 @@
"PackagePath": "Save Path",
"PackageDescription": "* Description",
"PackageDescriptionExplain": "Detailed package description eg:This package installs My Application.",
"PackageDescriptionExplain": "Detailed package description eg:This package installs My Application",
"BuildPackage": "Build Package",
"InstallPackage": "Install Package",
"debPackageName": "* Package Name",
@ -334,7 +334,7 @@
"PackagedebBuildnameExplain": "Package Name eg:parted",
"PackagedebBuildversionExplain": "Software package version number eg:1.1",
"PackagedebBuildMaintainerExplain": "Package Maintainer eg:John Doe",
"PackagedebBuildDescriptionExplain": "Package Description eg:This is an example package that does example things.",
"PackagedebBuildDescriptionExplain": "Package Description eg:This is an example package that does example things",
"PackagedebBuildArchitectureExplain": "Package Architecture",
"PackagedebBuildbinarypathExplain": "Please fill in the path of the software package binary file",
"PackagedebBuilddebsourcepathExplain": "Please fill in the path of the software package source file",
@ -573,9 +573,11 @@
"WarPackageCmd": "Command",
"WarPackageCmdExplain": "mvn package",
"WarPackageNotice": "Notice",
"WarPackageNoticeExplain": "Support for maven and gradle projects.",
"openSetting": "Open Setting page.",
"openSettingJson": "Open Setting json.",
"WarPackageNoticeExplain": "Support for maven and gradle projects",
"openSetting": "Open User Setting page",
"openSettingJson": "Open User Setting json file",
"openWorkspaceSetting": "Open Workspace Setting page",
"openWorkspaceSettingJson": "Open Workspace Setting json file",
"packageprocess":"Packaging Process Display",
"debpackageprocessenv":"Create deb package environment",
"debpackageprocesscon":"Create deb package control file",
@ -606,10 +608,10 @@
"config-java-runtime": "Configure Java Runtime",
"clickto-config-java-runtime": "Open Configure Java Runtime",
"notice-create-launch-json-file": "Create launch.json file",
"clickto-open-workspace-launch-file": "Open Debug Configuration file launch.json.",
"clickto-open-workbench-action-deployWindow": "Activate the installation and deployment interface.",
"clickto-open-workspace-launch-file": "Open Debug Configuration file launch.json",
"clickto-open-workbench-action-deployWindow": "Activate the installation and deployment interface",
"open-deployWindow": "Rapid deployment of development environment",
"open-deployWindow-title": "Open \"Development Environment Quick Deployment\", install the development environment and plugins.",
"open-deployWindow-title": "Open \"Development Environment Quick Deployment\", install the development environment and plugins",
"notice-define-run-debug": "To customize run and debug",
"tasks-json": "Task(tasks.json)",
"notice-create-tasks-json-file": "Create tasks.json file",
@ -633,7 +635,7 @@
"uninstallX": "Uninstall {x}",
"nofound_project_type": "Project type not found.",
"nofound_project_type": "Project type not found",
"jsonUpdateNeedReload": "Json file or settings is updated, Page reload now ?",
"emptyerror":"Can not be empty!"
}

View File

@ -206,7 +206,7 @@
"PackageLicense": "* 授权方式(License)",
"PackageLicenseExplain": "软件包的授权方式 eg:GPL",
"PackageSummary": "* 简介(Summary)",
"PackageSummaryExplain": "软件包的简短介绍 eg:A fictional open source package for the offering.",
"PackageSummaryExplain": "软件包的简短介绍 eg:A fictional open source package for the offering",
"PackageURL": "主页(URL)",
"PackageURLExplain": "一般是软件包源码地址 eg:http://www.example.com/myapp",
"PackageGroup": "软件分组(Group)",
@ -244,7 +244,7 @@
"PackageSource": "源码(Source)",
"PackageSourceExplain": "软件包源码,默认使用 包名-版本.tar.gz",
"PackageDescription": "* 描述(Description)",
"PackageDescriptionExplain": "软件包的详细描述 eg:This package installs My Application.",
"PackageDescriptionExplain": "软件包的详细描述 eg:This package installs My Application",
"PackageRequires": "依赖包(Requires)",
"PackageRequiresExplain": "当前软件包依赖的包,请用‘,’分隔依赖包 eg:gcc, make",
"PackageProvides": "提供包(Provides)",
@ -332,7 +332,7 @@
"PackagedebBuildnameExplain": "软件包名称 eg:parted",
"PackagedebBuildversionExplain": "软件包版本号 eg:1.1",
"PackagedebBuildMaintainerExplain": "软件包维护者 eg:John Doe",
"PackagedebBuildDescriptionExplain": "软件包描述 eg:This is an example package that does example things.",
"PackagedebBuildDescriptionExplain": "软件包描述 eg:This is an example package that does example things",
"PackagedebBuildArchitectureExplain": "软件包架构",
"PackagedebBuildbinarypathExplain": "请填写软件包构建二进制文件的路径",
"PackagedebBuilddebsourcepathExplain": "请填写软件包构建源码文件的路径",
@ -573,8 +573,10 @@
"WarPackageCmdExplain": "mvn package",
"WarPackageNotice": "注意",
"WarPackageNoticeExplain": "支持 maven 和 gradle 项目打包。",
"openSetting": "打开设置页.",
"openSettingJson": "打开设置json文件.",
"openSetting": "打开用户设置",
"openSettingJson": "打开用户设置json文件",
"openWorkspaceSetting": "打开工作区设置",
"openWorkspaceSettingJson": "打开工作区设置json文件",
"packageprocess":"打包流程显示",
"debpackageprocessenv":"[1] 创建打包环境",
"debpackageprocesscon":"[2] 创建control文件",
@ -605,14 +607,14 @@
"config-java-runtime": "Java运行时设置",
"clickto-config-java-runtime": "点击打开Java运行时设置",
"notice-create-launch-json-file": "创建 launch.json 文件",
"clickto-open-workspace-launch-file": "打开调试配置文件launch.json点击可以打开文件编辑调试配置",
"clickto-open-workbench-action-deployWindow": "打开“开发环境快速部署”,快速搞定基础开发环境.",
"clickto-open-workspace-launch-file": "编辑调试配置文件launch.json点击打开文件编辑调试配置",
"clickto-open-workbench-action-deployWindow": "打开“开发环境快速部署”,快速搞定基础开发环境",
"open-deployWindow": "快速部署开发环境",
"open-deployWindow-title": "打开“开发环境快速部署”功能,安装开发环境及插件.",
"open-deployWindow-title": "打开“开发环境快速部署”功能,安装开发环境及插件",
"notice-define-run-debug": "要自定义运行和调试",
"tasks-json": "任务(tasks.json)",
"notice-create-tasks-json-file": "创建 tasks.json 文件",
"clickto-open-tasks-file": "打开任务文件 tasks.json点击可以打开文件编辑构建、运行等任务",
"notice-create-tasks-json-file": "创建tasks.json 文件",
"clickto-open-tasks-file": "编辑task配置文件tasks.json点击打开文件编辑构建、运行等任务",
"create-maven-project": "创建maven项目",
"create-gradle-project": "创建Gradle项目",
"create-gradle-project-more": "创建Gradle项目如无法自动安装可通过 https://gitee.com/openkylin/extensions-repo/tree/master/KylinIDETeam/ 下载vsix安装",

View File

@ -9,14 +9,14 @@
class="main-form"
:rules="rules"
>
<div v-for="(stepItem, stepIndex) in configItems" :key="stepItem">
<!-- 循环当前项目类型的数组 多个stepItem代表不同的step通过nextStep切换-->
<el-row v-for="(stepItem, stepIndex) in configItems" :key="stepItem">
<!-- 循环当前项目类型的数组 多个stepItem代表不同的step通过nextStep切换-->
<!-- <div v-if="stepIndex + 1 == step"> -->
<!-- 显示当前step -->
<div
<el-col :span="item.span?item.span:24" :xs="item.type === 'space'?0:24"
v-for="(item, index) in stepItem"
:key="index"
style="min-width: 100px;"
:class="setVisable(stepIndex)">
<!-- 下面要判断当前项目,是否有显示条件,如果有,则根据条件判断结构决定是否显示 -->
<el-form-item
@ -274,8 +274,9 @@
</el-col>
</el-row>
</el-form-item>
</div>
</div>
<!-- </div> -->
</el-col>
</el-row>
<!-- </div> -->
</el-form>
</div>
@ -1129,6 +1130,9 @@ export default defineComponent({
</script>
<style>
.el-col{
min-width: 120px;
}
.el-button {
min-width: 80px;
}