cursor-feedback 1.1.1 → 2.0.0
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/CHANGELOG.md +14 -0
- package/README.md +48 -4
- package/README_CN.md +48 -4
- package/dist/extension.js +546 -53
- package/dist/feishu.js +667 -0
- package/dist/i18n/en.json +49 -7
- package/dist/i18n/index.js +46 -4
- package/dist/i18n/zh-CN.json +49 -7
- package/dist/mcp-server.js +514 -20
- package/dist/webview/index.html +193 -43
- package/dist/webview/script.js +795 -145
- package/dist/webview/styles.css +921 -298
- package/package.json +38 -1
- package/.github/workflows/release-please.yml +0 -19
- package/.husky/pre-commit +0 -2
- package/.husky/pre-push +0 -1
- package/.versionrc.json +0 -15
- package/.vscode/launch.json +0 -28
- package/.vscode/tasks.json +0 -22
- package/.vscodeignore +0 -11
- package/demo.gif +0 -0
- package/dist/extension.js.map +0 -1
- package/dist/i18n/index.js.map +0 -1
- package/dist/mcp-server.js.map +0 -1
- package/icon.png +0 -0
- package/mcp-install-dark.png +0 -0
- package/resources/icon.svg +0 -4
- package/resources/vendor/marked.min.js +0 -69
- package/scripts/check-changelog.js +0 -42
- package/src/extension.ts +0 -692
- package/src/i18n/en.json +0 -34
- package/src/i18n/index.ts +0 -131
- package/src/i18n/zh-CN.json +0 -34
- package/src/mcp-server.ts +0 -768
- package/src/webview/index.html +0 -69
- package/src/webview/script.js +0 -318
- package/src/webview/styles.css +0 -422
- package/tsconfig.json +0 -17
package/src/i18n/en.json
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"checkingConnection": "Checking connection...",
|
|
3
|
-
"waitingForAI": "Waiting for AI feedback request...",
|
|
4
|
-
"waitingHint": "The input interface will appear here when AI needs your feedback",
|
|
5
|
-
"aiSummary": "AI Summary",
|
|
6
|
-
"yourFeedback": "Your Feedback",
|
|
7
|
-
"feedbackPlaceholder": "Enter your feedback...",
|
|
8
|
-
"uploadImage": "Upload image",
|
|
9
|
-
"selectFilesOrFolders": "Select files/folders",
|
|
10
|
-
"submitFeedback": "Submit Feedback",
|
|
11
|
-
"toggleKeyMode": "Toggle key mode",
|
|
12
|
-
"remainingTime": "Remaining time",
|
|
13
|
-
"timeout": "Timeout",
|
|
14
|
-
"enterSubmitMode": "Enter to submit · Shift+Enter for newline",
|
|
15
|
-
"ctrlEnterSubmitMode": "Ctrl+Enter to submit · Enter for newline",
|
|
16
|
-
"switchToCtrlEnter": "Click to switch to Ctrl+Enter submit",
|
|
17
|
-
"switchToEnter": "Click to switch to Enter submit",
|
|
18
|
-
"mcpServerConnected": "MCP Server connected",
|
|
19
|
-
"mcpServerDisconnected": "MCP Server disconnected",
|
|
20
|
-
"debugInfo": "Debug Info",
|
|
21
|
-
"scanPort": "Scan port",
|
|
22
|
-
"workspace": "Workspace",
|
|
23
|
-
"currentPort": "Current port",
|
|
24
|
-
"connected": "Connected",
|
|
25
|
-
"none": "None",
|
|
26
|
-
"status": "Status",
|
|
27
|
-
"startListening": "Started listening for MCP feedback requests",
|
|
28
|
-
"stopListening": "Stopped listening",
|
|
29
|
-
"aiWaitingFeedback": "AI is waiting for your feedback",
|
|
30
|
-
"feedbackSubmitted": "Feedback submitted",
|
|
31
|
-
"submitFailed": "Submit failed",
|
|
32
|
-
"cannotConnectMCP": "Cannot connect to MCP Server",
|
|
33
|
-
"select": "Select"
|
|
34
|
-
}
|
package/src/i18n/index.ts
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import * as vscode from 'vscode';
|
|
2
|
-
import * as fs from 'fs';
|
|
3
|
-
import * as path from 'path';
|
|
4
|
-
|
|
5
|
-
export type I18nMessages = {
|
|
6
|
-
checkingConnection: string;
|
|
7
|
-
waitingForAI: string;
|
|
8
|
-
waitingHint: string;
|
|
9
|
-
aiSummary: string;
|
|
10
|
-
yourFeedback: string;
|
|
11
|
-
feedbackPlaceholder: string;
|
|
12
|
-
uploadImage: string;
|
|
13
|
-
selectFilesOrFolders: string;
|
|
14
|
-
submitFeedback: string;
|
|
15
|
-
toggleKeyMode: string;
|
|
16
|
-
remainingTime: string;
|
|
17
|
-
timeout: string;
|
|
18
|
-
enterSubmitMode: string;
|
|
19
|
-
ctrlEnterSubmitMode: string;
|
|
20
|
-
switchToCtrlEnter: string;
|
|
21
|
-
switchToEnter: string;
|
|
22
|
-
mcpServerConnected: string;
|
|
23
|
-
mcpServerDisconnected: string;
|
|
24
|
-
debugInfo: string;
|
|
25
|
-
scanPort: string;
|
|
26
|
-
workspace: string;
|
|
27
|
-
currentPort: string;
|
|
28
|
-
connected: string;
|
|
29
|
-
none: string;
|
|
30
|
-
status: string;
|
|
31
|
-
startListening: string;
|
|
32
|
-
stopListening: string;
|
|
33
|
-
aiWaitingFeedback: string;
|
|
34
|
-
feedbackSubmitted: string;
|
|
35
|
-
submitFailed: string;
|
|
36
|
-
cannotConnectMCP: string;
|
|
37
|
-
select: string;
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
let cachedMessages: I18nMessages | null = null;
|
|
41
|
-
let cachedLanguage: string | null = null;
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* 获取当前配置的语言
|
|
45
|
-
*/
|
|
46
|
-
export function getLanguage(): string {
|
|
47
|
-
const config = vscode.workspace.getConfiguration('cursorFeedback');
|
|
48
|
-
const configuredLang = config.get<string>('language') || 'auto';
|
|
49
|
-
|
|
50
|
-
if (configuredLang === 'auto') {
|
|
51
|
-
// 根据系统语言自动检测
|
|
52
|
-
const vscodeLang = vscode.env.language; // 例如 'zh-cn', 'en', 'zh-tw'
|
|
53
|
-
if (vscodeLang.startsWith('zh')) {
|
|
54
|
-
return 'zh-CN';
|
|
55
|
-
}
|
|
56
|
-
return 'en';
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return configuredLang;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* 加载语言消息
|
|
64
|
-
*/
|
|
65
|
-
export function loadMessages(extensionPath: string, language?: string): I18nMessages {
|
|
66
|
-
const lang = language || getLanguage();
|
|
67
|
-
|
|
68
|
-
// 如果语言没变,返回缓存
|
|
69
|
-
if (cachedMessages && cachedLanguage === lang) {
|
|
70
|
-
return cachedMessages;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// 尝试加载指定语言
|
|
74
|
-
const langFile = path.join(extensionPath, 'dist', 'i18n', `${lang}.json`);
|
|
75
|
-
const defaultFile = path.join(extensionPath, 'dist', 'i18n', 'zh-CN.json');
|
|
76
|
-
|
|
77
|
-
try {
|
|
78
|
-
if (fs.existsSync(langFile)) {
|
|
79
|
-
cachedMessages = JSON.parse(fs.readFileSync(langFile, 'utf-8'));
|
|
80
|
-
} else {
|
|
81
|
-
// 回退到默认语言
|
|
82
|
-
cachedMessages = JSON.parse(fs.readFileSync(defaultFile, 'utf-8'));
|
|
83
|
-
}
|
|
84
|
-
cachedLanguage = lang;
|
|
85
|
-
return cachedMessages!;
|
|
86
|
-
} catch (error) {
|
|
87
|
-
console.error('Failed to load i18n messages:', error);
|
|
88
|
-
// 返回硬编码的默认值
|
|
89
|
-
return getDefaultMessages();
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* 默认消息(兜底)
|
|
95
|
-
*/
|
|
96
|
-
function getDefaultMessages(): I18nMessages {
|
|
97
|
-
return {
|
|
98
|
-
checkingConnection: "Checking connection...",
|
|
99
|
-
waitingForAI: "Waiting for AI feedback request...",
|
|
100
|
-
waitingHint: "The input interface will appear here when AI needs your feedback",
|
|
101
|
-
aiSummary: "AI Summary",
|
|
102
|
-
yourFeedback: "Your Feedback",
|
|
103
|
-
feedbackPlaceholder: "Enter your feedback...",
|
|
104
|
-
uploadImage: "Upload image",
|
|
105
|
-
selectFilesOrFolders: "Select files/folders",
|
|
106
|
-
submitFeedback: "Submit Feedback",
|
|
107
|
-
toggleKeyMode: "Toggle key mode",
|
|
108
|
-
remainingTime: "Remaining time",
|
|
109
|
-
timeout: "Timeout",
|
|
110
|
-
enterSubmitMode: "Enter to submit · Shift+Enter for newline",
|
|
111
|
-
ctrlEnterSubmitMode: "Ctrl+Enter to submit · Enter for newline",
|
|
112
|
-
switchToCtrlEnter: "Click to switch to Ctrl+Enter submit",
|
|
113
|
-
switchToEnter: "Click to switch to Enter submit",
|
|
114
|
-
mcpServerConnected: "MCP Server connected",
|
|
115
|
-
mcpServerDisconnected: "MCP Server disconnected",
|
|
116
|
-
debugInfo: "Debug Info",
|
|
117
|
-
scanPort: "Scan port",
|
|
118
|
-
workspace: "Workspace",
|
|
119
|
-
currentPort: "Current port",
|
|
120
|
-
connected: "Connected",
|
|
121
|
-
none: "None",
|
|
122
|
-
status: "Status",
|
|
123
|
-
startListening: "Started listening for MCP feedback requests",
|
|
124
|
-
stopListening: "Stopped listening",
|
|
125
|
-
aiWaitingFeedback: "AI is waiting for your feedback",
|
|
126
|
-
feedbackSubmitted: "Feedback submitted",
|
|
127
|
-
submitFailed: "Submit failed",
|
|
128
|
-
cannotConnectMCP: "Cannot connect to MCP Server",
|
|
129
|
-
select: "Select"
|
|
130
|
-
};
|
|
131
|
-
}
|
package/src/i18n/zh-CN.json
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"checkingConnection": "检查连接...",
|
|
3
|
-
"waitingForAI": "等待 AI 请求反馈...",
|
|
4
|
-
"waitingHint": "当 AI 需要您的反馈时,这里会显示输入界面",
|
|
5
|
-
"aiSummary": "AI 工作摘要",
|
|
6
|
-
"yourFeedback": "您的反馈",
|
|
7
|
-
"feedbackPlaceholder": "请输入您的反馈...",
|
|
8
|
-
"uploadImage": "上传图片",
|
|
9
|
-
"selectFilesOrFolders": "选择文件/文件夹",
|
|
10
|
-
"submitFeedback": "提交反馈",
|
|
11
|
-
"toggleKeyMode": "切换快捷键模式",
|
|
12
|
-
"remainingTime": "剩余时间",
|
|
13
|
-
"timeout": "已超时",
|
|
14
|
-
"enterSubmitMode": "Enter 提交 · Shift+Enter 换行",
|
|
15
|
-
"ctrlEnterSubmitMode": "Ctrl+Enter 提交 · Enter 换行",
|
|
16
|
-
"switchToCtrlEnter": "点击切换为 Ctrl+Enter 提交",
|
|
17
|
-
"switchToEnter": "点击切换为 Enter 提交",
|
|
18
|
-
"mcpServerConnected": "MCP Server 已连接",
|
|
19
|
-
"mcpServerDisconnected": "MCP Server 未连接",
|
|
20
|
-
"debugInfo": "调试信息",
|
|
21
|
-
"scanPort": "扫描端口",
|
|
22
|
-
"workspace": "工作区",
|
|
23
|
-
"currentPort": "当前端口",
|
|
24
|
-
"connected": "已连接",
|
|
25
|
-
"none": "无",
|
|
26
|
-
"status": "状态",
|
|
27
|
-
"startListening": "开始监听 MCP 反馈请求",
|
|
28
|
-
"stopListening": "已停止监听",
|
|
29
|
-
"aiWaitingFeedback": "AI 正在等待您的反馈",
|
|
30
|
-
"feedbackSubmitted": "反馈已提交",
|
|
31
|
-
"submitFailed": "提交失败",
|
|
32
|
-
"cannotConnectMCP": "无法连接到 MCP Server",
|
|
33
|
-
"select": "选择"
|
|
34
|
-
}
|