Skip to content

Commit 3dcdfb0

Browse files
authored
Merge pull request #19 from andaoai/dev
Dev
2 parents d541072 + a8b8da3 commit 3dcdfb0

File tree

3 files changed

+18
-9
lines changed

3 files changed

+18
-9
lines changed

.vscodeignore

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
.vscode/**
22
.vscode-test/**
33
src/**
4-
!src/templates/**
54
.gitignore
65
.yarnrc
76
vsc-extension-quickstart.md
@@ -12,7 +11,14 @@ vsc-extension-quickstart.md
1211
**/.vscode-test.*
1312
test_label/**
1413

14+
# # 排除node_modules目录,package.json中的依赖会自动处理
15+
# node_modules/**
16+
1517
# 排除docs目录,只保留图标
1618
docs/**
1719
!docs/images/icon.png
18-
!docs/images/icon.svg
20+
!docs/images/icon.svg
21+
22+
# 其他不需要的文件
23+
.github/**
24+
CHANGELOG.md

package.json

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "yolo-labeling-vs",
33
"displayName": "YOLO Labeling",
44
"description": "A VS Code extension for YOLO dataset labeling",
5-
"version": "0.0.58",
5+
"version": "0.0.60",
66
"publisher": "andaoai",
77
"license": "MIT",
88
"icon": "docs/images/icon.png",
@@ -106,11 +106,13 @@
106106
},
107107
"scripts": {
108108
"vscode:prepublish": "npm run compile",
109-
"compile": "tsc -p ./",
110-
"watch": "tsc -watch -p ./",
109+
"compile": "tsc -p ./ && npm run copy-templates",
110+
"watch": "tsc -watch -p ./ & npm run watch-templates",
111111
"pretest": "npm run compile && npm run lint",
112112
"lint": "eslint src",
113-
"test": "vscode-test"
113+
"test": "vscode-test",
114+
"copy-templates": "node -e \"const fs=require('fs'); const path=require('path'); const srcDir='src/templates'; const destDir='out/templates'; if(!fs.existsSync(destDir)) fs.mkdirSync(destDir, {recursive: true}); const copyDir=(src,dest)=>{if(!fs.existsSync(dest)) fs.mkdirSync(dest, {recursive: true}); const entries=fs.readdirSync(src, {withFileTypes: true}); for(const entry of entries){const srcPath=path.join(src, entry.name); const destPath=path.join(dest, entry.name); if(entry.isDirectory()) copyDir(srcPath, destPath); else fs.copyFileSync(srcPath, destPath);}}; copyDir(srcDir, destDir);\"",
115+
"watch-templates": "node -e \"const fs=require('fs'); const path=require('path'); const chokidar=require('chokidar'); const srcDir='src/templates'; const destDir='out/templates'; if(!fs.existsSync(destDir)) fs.mkdirSync(destDir, {recursive: true}); const watcher=chokidar.watch(srcDir); watcher.on('all', (event, filepath) => {if(fs.existsSync(filepath) && !fs.lstatSync(filepath).isDirectory()) {const relativePath=path.relative(srcDir, filepath); const destPath=path.join(destDir, relativePath); fs.mkdirSync(path.dirname(destPath), {recursive: true}); fs.copyFileSync(filepath, destPath); console.log(`Copied: ${filepath} -> ${destPath}`)}});\""
114116
},
115117
"devDependencies": {
116118
"@types/js-yaml": "^4.0.9",
@@ -121,6 +123,7 @@
121123
"@typescript-eslint/parser": "^8.28.0",
122124
"@vscode/test-cli": "^0.0.10",
123125
"@vscode/test-electron": "^2.4.1",
126+
"chokidar": "^3.5.3",
124127
"eslint": "^9.23.0",
125128
"svg2png-cli": "^1.1.1",
126129
"svgexport": "^0.4.2",

src/services/UiService.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,13 +107,13 @@ export class UiService {
107107
const { classNames, initialImageData, initialLabels, imageInfoText, webview, currentPath, kptShape, flipIdx } = options;
108108

109109
// 获取CSS和JS文件的路径
110-
const cssPath = vscode.Uri.joinPath(this._extensionUri, 'src', 'templates', 'labeling-panel.css');
111-
const jsPath = vscode.Uri.joinPath(this._extensionUri, 'src', 'templates', 'labeling-panel.js');
110+
const cssPath = vscode.Uri.joinPath(this._extensionUri, 'out', 'templates', 'labeling-panel.css');
111+
const jsPath = vscode.Uri.joinPath(this._extensionUri, 'out', 'templates', 'labeling-panel.js');
112112
const cssSrc = webview.asWebviewUri(cssPath);
113113
const jsSrc = webview.asWebviewUri(jsPath);
114114

115115
// 读取HTML模板
116-
const templatePath = path.join(this._extensionUri.fsPath, 'src', 'templates', 'labeling-panel.html');
116+
const templatePath = path.join(this._extensionUri.fsPath, 'out', 'templates', 'labeling-panel.html');
117117
let html = await fs.promises.readFile(templatePath, 'utf8');
118118

119119
// 注入数据到window对象

0 commit comments

Comments
 (0)