From 8f5ddd7dec6707b56ad13e87fa1cea7dbd1231b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9D=BF=20=E5=AE=89?= Date: Thu, 18 Sep 2025 16:10:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9C=AC=E5=9C=B0=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E7=AB=AF=E5=8F=A3=E9=85=8D=E7=BD=AE=E9=A1=B9=EF=BC=8C?= =?UTF-8?q?=E5=85=81=E8=AE=B8=E7=94=A8=E6=88=B7=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=8F=91=E9=80=81JSON=E6=95=B0=E6=8D=AE=E7=9A=84=E7=AB=AF?= =?UTF-8?q?=E5=8F=A3=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在localClient.ts中实现从配置读取端口号,默认值为26000 - 在package.json中添加squirrel.localServicePort配置项 - 用户现在可以通过VS Code设置自定义本地C++服务端口 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- dist/localClient.js | 6 +++++- dist/localClient.js.map | 2 +- package.json | 5 +++++ src/localClient.ts | 6 +++++- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/dist/localClient.js b/dist/localClient.js index b3e1b10..ba13657 100644 --- a/dist/localClient.js +++ b/dist/localClient.js @@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); exports.sendFileToCppService = sendFileToCppService; const http = __importStar(require("http")); +const vscode = __importStar(require("vscode")); /** * 构建JSON数据 * @param filePath 文件路径 @@ -53,12 +54,15 @@ function buildJsonData(filePath, content) { * @returns Promise 是否发送成功 */ async function sendFileToCppService(filePath, content) { + // 从配置中获取端口号,默认为26000 + const config = vscode.workspace.getConfiguration('squirrel'); + const localServicePort = config.get('localServicePort', 26000); return new Promise((resolve) => { const jsonData = buildJsonData(filePath, content); const postData = jsonData; const options = { hostname: '127.0.0.1', - port: 26000, + port: localServicePort, path: '/send_data', method: 'POST', headers: { diff --git a/dist/localClient.js.map b/dist/localClient.js.map index 52653db..19b3c45 100644 --- a/dist/localClient.js.map +++ b/dist/localClient.js.map @@ -1 +1 @@ -{"version":3,"file":"localClient.js","sourceRoot":"","sources":["../src/localClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,oDA0CC;AAhED,2CAA6B;AAG7B;;;;;GAKG;AACH,SAAS,aAAa,CAAC,QAAgB,EAAE,OAAe;IACpD,MAAM,IAAI,GAA8B,EAAE,CAAC;IAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;IAEzB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,oBAAoB,CAAC,QAAgB,EAAE,OAAe;IACxE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC;QAE1B,MAAM,OAAO,GAAwB;YACjC,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;aAChD;SACJ,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACtC,IAAI,IAAI,GAAG,EAAE,CAAC;YAEd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrB,IAAI,IAAI,KAAK,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,UAAU,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC3E,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,KAAK,CAAC,wBAAwB,GAAG,CAAC,UAAU,SAAS,IAAI,EAAE,CAAC,CAAC;oBACrE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACtB,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpB,GAAG,CAAC,GAAG,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACP,CAAC"} \ No newline at end of file +{"version":3,"file":"localClient.js","sourceRoot":"","sources":["../src/localClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,oDA8CC;AApED,2CAA6B;AAC7B,+CAAiC;AAEjC;;;;;GAKG;AACH,SAAS,aAAa,CAAC,QAAgB,EAAE,OAAe;IACpD,MAAM,IAAI,GAA8B,EAAE,CAAC;IAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;IAEzB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,oBAAoB,CAAC,QAAgB,EAAE,OAAe;IACxE,qBAAqB;IACrB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAS,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAEvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC;QAE1B,MAAM,OAAO,GAAwB;YACjC,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;aAChD;SACJ,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACtC,IAAI,IAAI,GAAG,EAAE,CAAC;YAEd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrB,IAAI,IAAI,KAAK,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,UAAU,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC3E,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,KAAK,CAAC,wBAAwB,GAAG,CAAC,UAAU,SAAS,IAAI,EAAE,CAAC,CAAC;oBACrE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACtB,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpB,GAAG,CAAC,GAAG,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACP,CAAC"} \ No newline at end of file diff --git a/package.json b/package.json index 23a0697..6c56890 100644 --- a/package.json +++ b/package.json @@ -122,6 +122,11 @@ "UTF-8", "Unicode" ] + }, + "squirrel.localServicePort": { + "type": "number", + "default": 26000, + "description": "本地C++服务端口,用于发送保存的NUT文件" } } } diff --git a/src/localClient.ts b/src/localClient.ts index 23241a5..bd2e6f4 100644 --- a/src/localClient.ts +++ b/src/localClient.ts @@ -21,13 +21,17 @@ function buildJsonData(filePath: string, content: string): string { * @returns Promise 是否发送成功 */ export async function sendFileToCppService(filePath: string, content: string): Promise { + // 从配置中获取端口号,默认为26000 + const config = vscode.workspace.getConfiguration('squirrel'); + const localServicePort = config.get('localServicePort', 26000); + return new Promise((resolve) => { const jsonData = buildJsonData(filePath, content); const postData = jsonData; const options: http.RequestOptions = { hostname: '127.0.0.1', - port: 26000, + port: localServicePort, path: '/send_data', method: 'POST', headers: {