You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求具备VSCode风格的Vue 3代码编辑器组件(支持文件树与代码执行)

推荐符合需求的Vue3代码编辑器组件

以下组件可满足你的VSCode风格主题、文件树支持、代码执行及后端文件加载需求:

1. CodeMirror 6 + Vue3 自定义集成

  • VSCode风格主题:可使用@codemirror/theme-one-dark(匹配VSCode暗色主题),或自行将VSCode主题JSON转换为CodeMirror兼容格式,自定义自由度高。
  • 文件树支持:搭配Element Plus的ElTree或其他Vue3树形组件,点击节点即可切换编辑器加载的文件内容;多文件场景可维护多个CodeMirror实例或切换文档模型。
  • 代码执行:通过编辑器API获取代码内容后,使用vm2(安全沙箱)执行JS代码,或对接后端语言执行接口返回结果。
  • 后端文件加载:通过fetch/axios请求后端文件接口,将返回的文本内容赋值给编辑器:
    import { EditorView } from '@codemirror/view';
    
    // 请求后端文件
    const fileContent = await fetch('/api/get-file').then(res => res.text());
    // 更新编辑器内容
    view.dispatch({
      changes: { from: 0, to: view.state.doc.length, insert: fileContent }
    });
    

2. Vue-CodeMirror(Vue3封装版)

  • 基于CodeMirror 5/6的现成Vue3组件,无需手动集成核心库。
  • 直接配置theme属性为VSCode风格主题(如one-dark),支持快速切换。
  • 文件树配合方式同上,绑定编辑器的v-model即可实现内容切换。
  • 代码执行和后端文件加载逻辑与原生CodeMirror一致,适合快速开发。

3. Vue3-Monaco-Editor(增强版Monaco封装)

  • 针对你提到的monaco-editor,该封装版优化了Vue3适配性,支持直接导入VSCode官方主题文件(如vscode-dark-plus.json)。
  • 文件树可通过Monaco的workspaceAPI实现多文件管理,添加多个文档模型并关联文件树节点。
  • 代码执行:获取编辑器内容后,通过monaco.editor.getModel()提取代码,再用沙箱或后端接口执行。
  • 后端文件加载:请求文件后调用editor.setValue(fileContent)即可渲染内容。

额外提示

  • 若需更贴近VSCode的完整IDE体验,可尝试基于Monaco的vue-devui编辑器组件,自带部分IDE特性。
  • 代码执行时优先使用后端接口或安全沙箱,避免前端eval带来的安全风险。

内容的提问来源于stack exchange,提问作者Mike3355

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 19:40:21