cursor-feedback 0.1.22 → 0.1.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/extension.js CHANGED
@@ -122,7 +122,14 @@ class FeedbackViewProvider {
122
122
  this._activePort = null;
123
123
  this._portScanRange = 20; // 扫描端口范围
124
124
  this._seenRequestIds = new Set(); // 已处理过的请求 ID
125
+ this._debugInfo = {
126
+ portRange: '',
127
+ workspacePath: '',
128
+ connectedPorts: [],
129
+ lastStatus: '初始化中...'
130
+ };
125
131
  this._basePort = port;
132
+ this._debugInfo.portRange = `${port}-${port + this._portScanRange - 1}`;
126
133
  }
127
134
  resolveWebviewView(webviewView, _context, _token) {
128
135
  this._view = webviewView;
@@ -188,6 +195,9 @@ class FeedbackViewProvider {
188
195
  */
189
196
  async _pollForFeedbackRequest() {
190
197
  try {
198
+ // 更新工作区路径
199
+ const workspacePaths = getWorkspacePaths();
200
+ this._debugInfo.workspacePath = workspacePaths.length > 0 ? workspacePaths[0] : '(无工作区)';
191
201
  // 并行扫描所有端口
192
202
  const ports = [];
193
203
  for (let i = 0; i < this._portScanRange; i++) {
@@ -195,6 +205,8 @@ class FeedbackViewProvider {
195
205
  }
196
206
  // 并行检查所有端口
197
207
  const results = await Promise.all(ports.map(port => this._checkPortForRequest(port)));
208
+ // 更新已连接的端口列表
209
+ this._debugInfo.connectedPorts = results.filter(r => r.connected).map(r => r.port);
198
210
  // 收集所有有效请求,按时间戳排序(最新的优先)
199
211
  const validRequests = results
200
212
  .filter(r => r.request && !this._seenRequestIds.has(r.request.id))
@@ -203,9 +215,20 @@ class FeedbackViewProvider {
203
215
  if (validRequests.length > 0) {
204
216
  const newest = validRequests[0];
205
217
  this._activePort = newest.port;
218
+ this._debugInfo.lastStatus = `找到请求 (端口 ${newest.port})`;
219
+ this._debugInfo.mismatchInfo = undefined;
206
220
  this._handleNewRequest(newest.request, newest.port);
221
+ this._updateDebugInfo();
207
222
  return;
208
223
  }
224
+ // 更新调试状态
225
+ if (this._debugInfo.connectedPorts.length === 0) {
226
+ this._debugInfo.lastStatus = '未找到 MCP Server';
227
+ }
228
+ else {
229
+ this._debugInfo.lastStatus = `已连接 ${this._debugInfo.connectedPorts.length} 个端口,无匹配请求`;
230
+ }
231
+ this._updateDebugInfo();
209
232
  // 检查活跃端口的请求状态(可能已被处理或超时)
210
233
  if (this._activePort && this._currentRequest) {
211
234
  const activeResult = results.find(r => r.port === this._activePort);
@@ -217,7 +240,8 @@ class FeedbackViewProvider {
217
240
  }
218
241
  }
219
242
  catch (error) {
220
- // 服务器可能未启动,静默处理
243
+ this._debugInfo.lastStatus = `轮询错误: ${error}`;
244
+ this._updateDebugInfo();
221
245
  }
222
246
  }
223
247
  /**
@@ -231,10 +255,13 @@ class FeedbackViewProvider {
231
255
  if (request) {
232
256
  const workspacePaths = getWorkspacePaths();
233
257
  const isMatch = isPathInWorkspace(request.projectDir);
234
- console.log(`[Port ${port}] Request projectDir: ${request.projectDir}`);
235
- console.log(`[Port ${port}] Workspace paths: ${JSON.stringify(workspacePaths)}`);
236
- console.log(`[Port ${port}] isMatch: ${isMatch}`);
237
258
  if (!isMatch) {
259
+ // 记录路径不匹配信息(用于调试)
260
+ this._debugInfo.mismatchInfo = {
261
+ requestPath: request.projectDir,
262
+ workspacePath: workspacePaths.length > 0 ? workspacePaths[0] : '(无工作区)'
263
+ };
264
+ this._debugInfo.lastStatus = `路径不匹配 (端口 ${port})`;
238
265
  // 请求不属于当前工作区,忽略
239
266
  return { connected: true, request: null, port };
240
267
  }
@@ -329,6 +356,17 @@ class FeedbackViewProvider {
329
356
  });
330
357
  }
331
358
  }
359
+ /**
360
+ * 更新调试信息到 WebView
361
+ */
362
+ _updateDebugInfo() {
363
+ if (this._view) {
364
+ this._view.webview.postMessage({
365
+ type: 'updateDebugInfo',
366
+ payload: this._debugInfo
367
+ });
368
+ }
369
+ }
332
370
  /**
333
371
  * 处理反馈提交
334
372
  */
@@ -619,6 +657,7 @@ class FeedbackViewProvider {
619
657
  gap: 6px;
620
658
  font-size: 11px;
621
659
  padding: 6px 10px;
660
+ position: relative;
622
661
  background: var(--vscode-textBlockQuote-background);
623
662
  border-radius: 4px;
624
663
  margin-bottom: 12px;
@@ -635,6 +674,39 @@ class FeedbackViewProvider {
635
674
  background: var(--vscode-notificationsInfoIcon-foreground);
636
675
  }
637
676
 
677
+ .debug-icon {
678
+ margin-left: auto;
679
+ cursor: pointer;
680
+ opacity: 0.6;
681
+ font-size: 12px;
682
+ }
683
+
684
+ .debug-icon:hover {
685
+ opacity: 1;
686
+ }
687
+
688
+ .debug-tooltip {
689
+ display: none;
690
+ position: fixed;
691
+ top: 50px;
692
+ right: 10px;
693
+ padding: 8px 10px;
694
+ background: var(--vscode-editorWidget-background);
695
+ border: 1px solid var(--vscode-editorWidget-border);
696
+ border-radius: 4px;
697
+ font-size: 11px;
698
+ white-space: pre-wrap;
699
+ z-index: 1000;
700
+ min-width: 180px;
701
+ max-width: 280px;
702
+ box-shadow: 0 2px 8px rgba(0,0,0,0.3);
703
+ }
704
+
705
+ .debug-icon:hover + .debug-tooltip,
706
+ .debug-tooltip:hover {
707
+ display: block;
708
+ }
709
+
638
710
  .attachments-area {
639
711
  margin-top: 10px;
640
712
  }
@@ -790,6 +862,8 @@ class FeedbackViewProvider {
790
862
  <div id="serverStatus" class="server-status">
791
863
  <span class="dot"></span>
792
864
  <span id="serverStatusText">${i18n.checking}</span>
865
+ <span id="debugIcon" class="debug-icon" title="">🔍</span>
866
+ <div id="debugTooltip" class="debug-tooltip"></div>
793
867
  </div>
794
868
 
795
869
  <!-- 等待状态 -->
@@ -874,6 +948,7 @@ class FeedbackViewProvider {
874
948
  // DOM 元素
875
949
  const serverStatus = document.getElementById('serverStatus');
876
950
  const serverStatusText = document.getElementById('serverStatusText');
951
+ const debugTooltip = document.getElementById('debugTooltip');
877
952
  const waitingStatus = document.getElementById('waitingStatus');
878
953
  const feedbackForm = document.getElementById('feedbackForm');
879
954
  const summaryContent = document.getElementById('summaryContent');
@@ -1105,6 +1180,22 @@ class FeedbackViewProvider {
1105
1180
  serverStatusText.textContent = i18n.disconnected;
1106
1181
  }
1107
1182
  break;
1183
+
1184
+ case 'updateDebugInfo':
1185
+ const debug = message.payload;
1186
+ let debugText = '🔍 调试信息\\n';
1187
+ debugText += '━━━━━━━━━━━━\\n';
1188
+ debugText += '扫描端口: ' + debug.portRange + '\\n';
1189
+ debugText += '工作区: ' + debug.workspacePath + '\\n';
1190
+ debugText += '已连接: ' + (debug.connectedPorts.length > 0 ? debug.connectedPorts.join(', ') : '无') + '\\n';
1191
+ debugText += '状态: ' + debug.lastStatus;
1192
+ if (debug.mismatchInfo) {
1193
+ debugText += '\\n\\n⚠️ 路径不匹配\\n';
1194
+ debugText += '请求: ' + debug.mismatchInfo.requestPath + '\\n';
1195
+ debugText += '工作区: ' + debug.mismatchInfo.workspacePath;
1196
+ }
1197
+ debugTooltip.textContent = debugText;
1198
+ break;
1108
1199
 
1109
1200
  case 'filesSelected':
1110
1201
  if (message.payload.paths) {
@@ -1 +1 @@
1
- {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "cursor-feedback",
3
3
  "displayName": "Cursor Feedback",
4
4
  "description": "Interactive feedback collection for AI agents in Cursor/VS Code - MCP Server with sidebar UI",
5
- "version": "0.1.22",
5
+ "version": "0.1.24",
6
6
  "author": "jianger666",
7
7
  "license": "MIT",
8
8
  "repository": {
package/src/extension.ts CHANGED
@@ -125,12 +125,25 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
125
125
  private _activePort: number | null = null;
126
126
  private _portScanRange = 20; // 扫描端口范围
127
127
  private _seenRequestIds: Set<string> = new Set(); // 已处理过的请求 ID
128
+ private _debugInfo: {
129
+ portRange: string;
130
+ workspacePath: string;
131
+ connectedPorts: number[];
132
+ lastStatus: string;
133
+ mismatchInfo?: { requestPath: string; workspacePath: string };
134
+ } = {
135
+ portRange: '',
136
+ workspacePath: '',
137
+ connectedPorts: [],
138
+ lastStatus: '初始化中...'
139
+ };
128
140
 
129
141
  constructor(
130
142
  private readonly _extensionUri: vscode.Uri,
131
143
  port: number
132
144
  ) {
133
145
  this._basePort = port;
146
+ this._debugInfo.portRange = `${port}-${port + this._portScanRange - 1}`;
134
147
  }
135
148
 
136
149
  public resolveWebviewView(
@@ -211,6 +224,10 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
211
224
  */
212
225
  private async _pollForFeedbackRequest() {
213
226
  try {
227
+ // 更新工作区路径
228
+ const workspacePaths = getWorkspacePaths();
229
+ this._debugInfo.workspacePath = workspacePaths.length > 0 ? workspacePaths[0] : '(无工作区)';
230
+
214
231
  // 并行扫描所有端口
215
232
  const ports = [];
216
233
  for (let i = 0; i < this._portScanRange; i++) {
@@ -220,6 +237,9 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
220
237
  // 并行检查所有端口
221
238
  const results = await Promise.all(ports.map(port => this._checkPortForRequest(port)));
222
239
 
240
+ // 更新已连接的端口列表
241
+ this._debugInfo.connectedPorts = results.filter(r => r.connected).map(r => r.port);
242
+
223
243
  // 收集所有有效请求,按时间戳排序(最新的优先)
224
244
  const validRequests = results
225
245
  .filter(r => r.request && !this._seenRequestIds.has(r.request.id))
@@ -229,10 +249,21 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
229
249
  if (validRequests.length > 0) {
230
250
  const newest = validRequests[0];
231
251
  this._activePort = newest.port;
252
+ this._debugInfo.lastStatus = `找到请求 (端口 ${newest.port})`;
253
+ this._debugInfo.mismatchInfo = undefined;
232
254
  this._handleNewRequest(newest.request!, newest.port);
255
+ this._updateDebugInfo();
233
256
  return;
234
257
  }
235
258
 
259
+ // 更新调试状态
260
+ if (this._debugInfo.connectedPorts.length === 0) {
261
+ this._debugInfo.lastStatus = '未找到 MCP Server';
262
+ } else {
263
+ this._debugInfo.lastStatus = `已连接 ${this._debugInfo.connectedPorts.length} 个端口,无匹配请求`;
264
+ }
265
+ this._updateDebugInfo();
266
+
236
267
  // 检查活跃端口的请求状态(可能已被处理或超时)
237
268
  if (this._activePort && this._currentRequest) {
238
269
  const activeResult = results.find(r => r.port === this._activePort);
@@ -243,7 +274,8 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
243
274
  }
244
275
  }
245
276
  } catch (error) {
246
- // 服务器可能未启动,静默处理
277
+ this._debugInfo.lastStatus = `轮询错误: ${error}`;
278
+ this._updateDebugInfo();
247
279
  }
248
280
  }
249
281
 
@@ -263,11 +295,14 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
263
295
  if (request) {
264
296
  const workspacePaths = getWorkspacePaths();
265
297
  const isMatch = isPathInWorkspace(request.projectDir);
266
- console.log(`[Port ${port}] Request projectDir: ${request.projectDir}`);
267
- console.log(`[Port ${port}] Workspace paths: ${JSON.stringify(workspacePaths)}`);
268
- console.log(`[Port ${port}] isMatch: ${isMatch}`);
269
298
 
270
299
  if (!isMatch) {
300
+ // 记录路径不匹配信息(用于调试)
301
+ this._debugInfo.mismatchInfo = {
302
+ requestPath: request.projectDir,
303
+ workspacePath: workspacePaths.length > 0 ? workspacePaths[0] : '(无工作区)'
304
+ };
305
+ this._debugInfo.lastStatus = `路径不匹配 (端口 ${port})`;
271
306
  // 请求不属于当前工作区,忽略
272
307
  return { connected: true, request: null, port };
273
308
  }
@@ -375,6 +410,18 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
375
410
  }
376
411
  }
377
412
 
413
+ /**
414
+ * 更新调试信息到 WebView
415
+ */
416
+ private _updateDebugInfo() {
417
+ if (this._view) {
418
+ this._view.webview.postMessage({
419
+ type: 'updateDebugInfo',
420
+ payload: this._debugInfo
421
+ });
422
+ }
423
+ }
424
+
378
425
  /**
379
426
  * 处理反馈提交
380
427
  */
@@ -685,6 +732,7 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
685
732
  gap: 6px;
686
733
  font-size: 11px;
687
734
  padding: 6px 10px;
735
+ position: relative;
688
736
  background: var(--vscode-textBlockQuote-background);
689
737
  border-radius: 4px;
690
738
  margin-bottom: 12px;
@@ -701,6 +749,39 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
701
749
  background: var(--vscode-notificationsInfoIcon-foreground);
702
750
  }
703
751
 
752
+ .debug-icon {
753
+ margin-left: auto;
754
+ cursor: pointer;
755
+ opacity: 0.6;
756
+ font-size: 12px;
757
+ }
758
+
759
+ .debug-icon:hover {
760
+ opacity: 1;
761
+ }
762
+
763
+ .debug-tooltip {
764
+ display: none;
765
+ position: fixed;
766
+ top: 50px;
767
+ right: 10px;
768
+ padding: 8px 10px;
769
+ background: var(--vscode-editorWidget-background);
770
+ border: 1px solid var(--vscode-editorWidget-border);
771
+ border-radius: 4px;
772
+ font-size: 11px;
773
+ white-space: pre-wrap;
774
+ z-index: 1000;
775
+ min-width: 180px;
776
+ max-width: 280px;
777
+ box-shadow: 0 2px 8px rgba(0,0,0,0.3);
778
+ }
779
+
780
+ .debug-icon:hover + .debug-tooltip,
781
+ .debug-tooltip:hover {
782
+ display: block;
783
+ }
784
+
704
785
  .attachments-area {
705
786
  margin-top: 10px;
706
787
  }
@@ -856,6 +937,8 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
856
937
  <div id="serverStatus" class="server-status">
857
938
  <span class="dot"></span>
858
939
  <span id="serverStatusText">${i18n.checking}</span>
940
+ <span id="debugIcon" class="debug-icon" title="">🔍</span>
941
+ <div id="debugTooltip" class="debug-tooltip"></div>
859
942
  </div>
860
943
 
861
944
  <!-- 等待状态 -->
@@ -940,6 +1023,7 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
940
1023
  // DOM 元素
941
1024
  const serverStatus = document.getElementById('serverStatus');
942
1025
  const serverStatusText = document.getElementById('serverStatusText');
1026
+ const debugTooltip = document.getElementById('debugTooltip');
943
1027
  const waitingStatus = document.getElementById('waitingStatus');
944
1028
  const feedbackForm = document.getElementById('feedbackForm');
945
1029
  const summaryContent = document.getElementById('summaryContent');
@@ -1171,6 +1255,22 @@ class FeedbackViewProvider implements vscode.WebviewViewProvider {
1171
1255
  serverStatusText.textContent = i18n.disconnected;
1172
1256
  }
1173
1257
  break;
1258
+
1259
+ case 'updateDebugInfo':
1260
+ const debug = message.payload;
1261
+ let debugText = '🔍 调试信息\\n';
1262
+ debugText += '━━━━━━━━━━━━\\n';
1263
+ debugText += '扫描端口: ' + debug.portRange + '\\n';
1264
+ debugText += '工作区: ' + debug.workspacePath + '\\n';
1265
+ debugText += '已连接: ' + (debug.connectedPorts.length > 0 ? debug.connectedPorts.join(', ') : '无') + '\\n';
1266
+ debugText += '状态: ' + debug.lastStatus;
1267
+ if (debug.mismatchInfo) {
1268
+ debugText += '\\n\\n⚠️ 路径不匹配\\n';
1269
+ debugText += '请求: ' + debug.mismatchInfo.requestPath + '\\n';
1270
+ debugText += '工作区: ' + debug.mismatchInfo.workspacePath;
1271
+ }
1272
+ debugTooltip.textContent = debugText;
1273
+ break;
1174
1274
 
1175
1275
  case 'filesSelected':
1176
1276
  if (message.payload.paths) {