UNPKG

vue-shiki-monaco

Version:
156 lines (106 loc) 4.25 kB
# Vue Shiki Monaco Editor 组件 一个基于 Monaco Editor + Shiki 构建的现代化 Vue 3 代码编辑器组件,提供专业的语法高亮和代码编辑体验。 ## ✨ 特性亮点 ### 🎨 **美观的语法高亮** - 基于 Shiki 的精准语法高亮 - 支持多种内置主题(Vitesse、GitHub 等) - 清新的编辑器样式设计 - 完全响应式布局 ### 🛠️ **强大的编辑功能** - **多语言支持** - JavaScript、TypeScript、Python、HTML、CSS 等 - **智能代码补全** - 基于 Monaco Editor 的强大功能 - **工具栏定制** - 灵活的插槽系统,支持自定义工具栏 - **快捷操作** - 内置复制、格式化等实用功能 ### 🚀 **开发体验** - **TypeScript 原生支持** - 完整的类型定义 - **Vue 3 组合式API** - 现代化的开发方式 - **轻量级集成** - 简单的安装和配置 - **丰富的API** - 完整的编辑器实例控制 ## 🏃 快速开始 ### 安装 ```bash npm install vue-shiki-monaco ``` ### 基础使用 ```vue <template> <Monaco language="javascript" theme="vitesse-light" height="400px" :value="code" @change="handleChange" /> </template> <script setup> import { ref } from "vue"; import { Monaco } from "vue-shiki-monaco"; const code = ref(`// Hello Monaco Editor with Shiki! function greet(name) { return \`Hello, \${name}!\`; } console.log(greet('World'));`); const handleChange = (newValue) => { console.log("代码更新:", newValue); }; </script> ``` 就这么简单!🎉 ## 🎯 使用场景 ### 📝 **代码编辑器** 为你的应用添加专业的代码编辑功能,支持语法高亮、自动补全、错误检测等。 ### 💻 **在线IDE** 构建基于浏览器的开发环境,提供完整的代码编辑和调试体验。 ### 📚 **文档展示** 在文档网站中展示代码示例,支持复制、格式化等交互功能。 ### 🎓 **教育平台** 为编程教学平台提供交互式的代码编辑和演示功能。 ## 🌟 为什么选择这个组件? ### 🔥 **现代化技术栈** - 基于 Vue 3 Composition API - 使用 TypeScript 开发 - Monaco Editor + Shiki 双重优势 - 零依赖冲突 ### 🎨 **精致的高亮效果** - Shiki 提供的 VSCode 级别语法高亮 - 支持多种主题风格 - 精准的代码着色 - 优秀的视觉体验 ### 🛡️ **稳定可靠** - 基于成熟的 Monaco Editor 内核 - 完善的错误处理机制 - 详细的文档和示例 - 持续的维护更新 ### 🚀 **性能优异** - 按需加载语言和主题 - 虚拟滚动支持大文件 - 内存占用优化 - 流畅的编辑体验 ## 📊 对比优势 | 特性 | 本组件 | 其他方案 | | ---------- | ------------------- | ----------- | | Vue 3 支持 | ✅ 原生支持 | ❌ 需要适配 | | TypeScript | ✅ 完整类型 | ⚠️ 部分支持 | | 语法高亮 | ✅ Shiki (VSCode级) | ⚠️ 基础高亮 | | 工具栏定制 | ✅ 插槽系统 | ❌ 配置复杂 | | 主题系统 | ✅ 多种内置主题 | ⚠️ 样式覆盖 | | 文档质量 | ✅ 详细完整 | ⚠️ 文档缺失 | ## 🎪 在线演示 想要亲自体验?查看我们的 [Storybook 演示](https://lisentowind.github.io/vue-shiki-monaco-playground/?path=/story/example-monaco-editor--default) 来探索所有功能! - 🔗 **基础编辑器** - 简洁的代码编辑体验 - 🎨 **主题切换** - 多种精美主题选择 - 🌈 **多语言高亮** - 各种编程语言支持 - 📱 **响应式设计** - 适配各种屏幕尺寸 ## 🚀 下一步 准备开始了吗? - 📖 **[快速开始](./getting-started)** - 5分钟上手指南 - 🛠️ **[API 文档](./api)** - 完整的接口说明 - 💡 **[使用示例](./examples)** - 丰富的实战案例 ## 🤝 社区 加入我们的社区,获取帮助和分享经验: - 🐛 [报告问题](https://github.com/lisentowind/vue-shiki-monaco/issues) - 💬 [参与讨论](https://github.com/lisentowind/vue-shiki-monaco/discussions) - 📝 [贡献代码](https://github.com/lisentowind/vue-shiki-monaco/pulls) - ⭐ [GitHub 仓库](https://github.com/lisentowind/vue-shiki-monaco) --- **让代码编辑变得更美好!**