Skip to content

Commit d824c85

Browse files
authored
Merge pull request #24 from BernardXiong/branch_dev
完善更多特性,UI,自动刷新功能等;
2 parents 7d1f360 + 337fe68 commit d824c85

File tree

4 files changed

+33
-9
lines changed

4 files changed

+33
-9
lines changed

src/dock.ts

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,28 @@ export function initDockView(context: vscode.ExtensionContext) {
341341
context.subscriptions.push(view);
342342
vscode.commands.registerCommand('extension.refreshRTThread', () => refreshProjectFilesAndGroups());
343343

344+
// Auto-refresh trees when project/workspace descriptors change
345+
const workspaceFolder = vscode.workspace.workspaceFolders?.[0];
346+
if (workspaceFolder) {
347+
const projectJsonPattern = new vscode.RelativePattern(workspaceFolder, '.vscode/project.json');
348+
const workspaceJsonPattern = new vscode.RelativePattern(workspaceFolder, '.vscode/workspace.json');
349+
350+
const projectWatcher = vscode.workspace.createFileSystemWatcher(projectJsonPattern);
351+
const workspaceWatcher = vscode.workspace.createFileSystemWatcher(workspaceJsonPattern);
352+
353+
const triggerRefresh = () => vscode.commands.executeCommand('extension.refreshRTThread');
354+
355+
projectWatcher.onDidChange(triggerRefresh);
356+
projectWatcher.onDidCreate(triggerRefresh);
357+
projectWatcher.onDidDelete(triggerRefresh);
358+
359+
workspaceWatcher.onDidChange(triggerRefresh);
360+
workspaceWatcher.onDidCreate(triggerRefresh);
361+
workspaceWatcher.onDidDelete(triggerRefresh);
362+
363+
context.subscriptions.push(projectWatcher, workspaceWatcher);
364+
}
365+
344366
// update$(cpus)
345367
const cpus = os.cpus().length;
346368
for (const [key, value] of Object.entries(cmds)) {
@@ -360,4 +382,3 @@ export function initDockView(context: vscode.ExtensionContext) {
360382
const treeDataprovider = new CmdTreeDataProvider();
361383
context.subscriptions.push(vscode.window.registerTreeDataProvider("treeId", treeDataprovider));
362384
}
363-

src/vue/setting/view/environment/index.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@
3232
<p class="status-title">RT-Thread Env 状态:</p>
3333
<ul class="info-text">
3434
<li v-if="envInfo.envStatus.installed">
35-
<el-tag type="success" effect="plain">✅ 已安装 - 版本 {{ envInfo.envStatus.envVersion || 'Unknown' }}</el-tag>
35+
<label>✅ 已安装 - 版本 {{ envInfo.envStatus.envVersion || 'Unknown' }}</label>
3636
</li>
3737
<li v-else>
38-
<el-tag type="warning" effect="plain">❌ 未安装</el-tag>
38+
<label>❌ 未安装</label>
3939
</li>
4040
<li>安装路径: {{ envInfo.envStatus.path }}</li>
4141
<li v-if="envInfo.envStatus.envGitRev">

src/vue/setting/view/sdk/index.vue

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,15 +61,13 @@
6161
<template #default="scope">
6262
<div class="install-status">
6363
<template v-if="scope.row.installed">
64-
<el-tag type="success" size="small">已安装</el-tag>
65-
<span class="installed-version">{{ scope.row.installedVersion }}</span>
64+
<label>已安装:{{ scope.row.installedVersion }}</label>
6665
</template>
6766
<template v-else-if="scope.row.selectedVersion">
68-
<el-tag type="warning" size="small">待安装</el-tag>
69-
<span class="selected-version">{{ scope.row.selectedVersion }}</span>
67+
<label>待安装:{{ scope.row.selectedVersion }}</label>
7068
</template>
7169
<template v-else>
72-
<el-tag type="info" size="small">未安装</el-tag>
70+
<label>未安装</label>
7371
</template>
7472
</div>
7573
</template>
@@ -134,6 +132,7 @@
134132
import { ref, onMounted, computed, nextTick, onBeforeUnmount } from 'vue';
135133
import { sendCommand, showMessage } from '../../../api/vscode';
136134
import XTerminal from '../../../components/XTerminal.vue';
135+
import { languages } from 'vscode';
137136
138137
// SDK包版本信息接口
139138
interface SDKVersion {

src/vue/setting/view/toolchains/index.less

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,17 @@
7272
display: flex;
7373
column-gap: @spacing-sm;
7474
align-items: center;
75+
width: 100%;
7576

77+
// Make the path input flexibly take available width
7678
.el-input {
77-
flex: 1;
79+
flex: 1 1 0;
80+
min-width: 0; // allow shrinking in flex container
7881
}
7982

8083
.el-button {
8184
min-width: 80px;
85+
flex: 0 0 auto; // keep button size stable
8286
}
8387
}
8488

0 commit comments

Comments
 (0)