作为开发者,我们经常使用现代开发工具,例如 vscode、cursor 都具有 AI 智能辅助编写代码功能, 今天给大家推荐一个开源 Demo ——AI Code Suggestions,一款基于 Monaco Editor 的智能代码建议 DEMO,支持多段代码同时建议、个性化接受/拒绝功能和批量处理操作, 如果有业务需要在 web 页面上添加编辑器,可以结合 AI 服务器来实现 AI 智能辅助效果
🎯 它能帮你做什么?
简单来说,这是一个能给你的代码提供专业优化建议的工具,核心功能包括:
- 智能代码建议:自动识别可优化的代码段,提供更优实现方案
- 多段代码同时处理:支持同时对多个代码段生成建议,批量优化
- 可视化差异对比:用绿色高亮显示新增代码,红色标记待删除代码
- 灵活的操作控制:每个建议都能单独接受 / 拒绝,也支持一键批量处理
- 实时预览效果:修改后的效果即时可见,不满意随时可以撤销
✨ 为什么推荐它?
1. 交互体验超流畅,完全参照 cursor 效果实现
用起来就两个字:舒服!
- 建议出现和消失时有平滑过渡动画
- 按钮悬停有清晰的视觉反馈
- 自动滚动到建议位置,无需手动查找
- 响应式布局,适配不同屏幕大小
2. 定制扩展超简单
完全可以根据自己的需求进行定制:
- 编辑配置文件即可添加新的建议规则
- 修改 CSS 样式轻松调整视觉效果
- 支持自定义初始代码,适配不同场景
- 开源免费,可自由修改和二次开发
🚀 快速上手指南
第一步:启动项目
bash
# 方法1:用Python启动本地服务器
python -m http.server 8000
# 方法2:用Node.js
npx http-server
# 然后访问 http://localhost:8000/AI%20Code%20Suggestions.html
第二步:使用流程
- 打开页面,等待代码和配置自动加载
- 点击 "🤖 AI 建议" 按钮生成所有优化建议
- 查看差异对比,绿色是新增代码,红色是待删除代码
- 用单个建议的✓/✕按钮进行选择性处理
- 或使用底部的批处理按钮一键接受 / 拒绝所有建议
💡 实用场景举例
场景 1:函数优化
原始代码:
javascript
运行
function createUser(userData) {
if (validateUser(userData)) {
console.log("Creating user: " + userData.name);
return { id: Date.now(), ...userData };
}
return null;
}
AI 建议优化后:
javascript
运行
// ✨ AI建议:增强用户创建逻辑
function createUser(userData) {
if (!validateUser(userData)) {
throw new Error('Invalid user data provided');
}
const user = {
id: Date.now(),
createdAt: new Date().toISOString(),
...userData
};
console.log(`Creating user: ${userData.name} (${userData.email})`);
return user;
}
可以看到优化点:
- 完善了错误处理(从返回 null 改为抛异常)
- 添加了创建时间戳,增强数据完整性
- 使用模板字符串,代码更清晰
- 日志信息更详细,便于调试
场景 2:代码精简
原始代码:
javascript
运行
function filterActiveItems(items) {
var result = [];
for (var i = 0; i < items.length; i++) {
if (items[i].active === true) {
result.push(items[i]);
}
}
return result;
}
AI 建议直接替换为原生方法:
javascript
运行
// 删除 filterActiveItems 函数:推荐使用原生 filter 方法
用items.filter(item => item.active)替代,代码更简洁高效!
🛠️ 如何定制属于自己的建议?suggestions-config.jsfig.js` 文件
- 在
suggestionExamples数组中添加新配置:
javascript
运行
{
range: { // 代码位置范围
startLineNumber: 12,
startColumn: 1,
endLineNumber: 18,
endColumn: 2
},
oldCode: "原始代码...", // 要匹配的代码
newCode: "优化后代码...", // 建议的新代码
description: "建议描述",
confidence: 0.9, // 建议置信度
tags: ["error-handling", "enhancement"] // 标签分类
}
3. 确保行initial-code.jsode.js` 中的实际代码对应
🔗 项目地址
如果你觉得这个工具有用,欢迎给项目点个 Star⭐,也可以提交 PR 一起完善它!
作为前端,这款工具能帮你快速实现 Web 页面上的 AI 编辑器开发。赶紧试试吧!