iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JS代码编译器Monaco使用方法
  • 258
分享到

JS代码编译器Monaco使用方法

2024-04-02 19:04:59 258人浏览 薄情痞子
摘要

前言 我的需求是可以语法高亮、函数提示功能、自动换行、代码折叠 Monaco Monaco是微软家的,支持的语言很多,还有缩略地图,有时候提示不好用然后包体很大。 The Monac

前言

我的需求是可以语法高亮、函数提示功能、自动换行、代码折叠

Monaco

Monaco是微软家的,支持的语言很多,还有缩略地图,有时候提示不好用然后包体很大。
The Monaco Editor is the code editor that powers VS Code.

使用方法官网

[官方文档](https://microsoft.GitHub.io/monaco-editor/index.html)
[在线demo](Https://github.com/Microsoft/monaco-editor-samples)
[github](https://github.com/Microsoft/monaco-editor)

安装

yarn add monaco-editor | npm install monaco-editor

引入


import * as monaco from 'monaco-editor' // 包体很大了 但是demo可以跑起来

//自定义一些提示函数
const suggestions = [
  {
    label: 'split_chinese',
    insertText: 'split_chinese(inputString,language);', // 不写的时候不展示。。
    detail:
      'inputString:need split string\n' +
      'language:\nCH_T:traditional Chinese\nCH_S:Chinese Simplified\n HK_T:Hong Kong Traditional\nTW_T:Taiwan Traditional\n'
  },
  {
    label: 'uuid',
    insertText: 'var uuid = uuid();',
    detail: 'generate uuid'
  },
  {
    label: 'HashMap',
    insertText: 'var hashMap = new HashMap();',
    detail: 'create hash object'
  }
]

初始化


mounted() {
    monaco.languages.reGISterCompletionItemProvider('javascript', {
      provideCompletionItems() {
        return {
          suggestions: suggestions
        }
      },
      triggerCharacters: [' ', '.'] // 写触发提示的字符,可以有多个
    })
    let self = this
    setTimeout(function () {
      self.init()
    }, 50) //因为父组件还未传参 子组件已经渲染
  }
  
 //初始化方法
init(script) {
  let self = this
  if (script) this.code = script
  self.$refs.container.innerHTML = ''
  var editor = monaco.editor.create(this.$refs.container, {
    value: this.code,
    language: 'javascript',
    minimap: {
      enabled: false
    },
    fontSize: '12px',
    fixedOverflowWidgets: true // 超出编辑器大小的使用fixed属性显示
  })
  editor.onDidChangeModelContent(function () {
    self.$emit('update:code', editor.getValue()) //用来监听编辑器内容变化,将内容传给父组件
  })
}

html


<template>
  <div ref="container" class="monaco"></div>
</template>

CSS


<style scoped>
.monaco {
  width: 95%;
  height: 400px;
  border: 1px solid #dcdfe6;
  text-align: left;
  margin-right: 20px;
  border-radius: 4px;
}
</style>

 

运行效果

缺点

我的推翻了,不想再跑一下,代码还在就写一个demo。运行还是可以的(有客户使用但也反馈不好用,是我自己的锅,不配使用Monaco)真的很难用,特别是提示的功能,一般情况下是没有提示的。然后一个包很大,好像有3.9G(严重)。可能没有按需引入,但是不引入没有提示功能,自定义函数提示。还有webpack配置,来回折腾!

以上就是js编译器Monaco使用教程的详细内容,更多关于JS编译器Monaco的资料请关注编程网其它相关文章!

--结束END--

本文标题: JS代码编译器Monaco使用方法

本文链接: https://www.lsjlt.com/news/128064.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JS代码编译器Monaco使用方法
    前言 我的需求是可以语法高亮、函数提示功能、自动换行、代码折叠 Monaco Monaco是微软家的,支持的语言很多,还有缩略地图,有时候提示不好用然后包体很大。 The Monac...
    99+
    2024-04-02
  • JS代码编译器中Monaco怎么用
    这篇文章给大家分享的是有关JS代码编译器中Monaco怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言我的需求是可以语法高亮、函数提示功能、自动换行、代码折叠MonacoMonaco是微软家的,支持的语言...
    99+
    2023-06-15
  • 使用C#编译器编译代码
    要使用C#编译器编译代码,可以使用命令行工具csc.exe(C#编译器),或者使用集成开发环境(IDE)如Visual Studio...
    99+
    2023-09-08
    C
  • 怎么用JS实现代码编译器
    本篇内容介绍了“怎么用JS实现代码编译器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、前言对于前端同学...
    99+
    2024-04-02
  • Asp.Net Core 使用Monaco Editor 实现代码编辑器功能
    在项目中经常有代码在线编辑的需求,比如修改基于Xml的配置文件,编辑Json格式的测试数据等。我们可以使用微软开源的在线代码编辑器Monaco Editor实现这些功能。Monaco...
    99+
    2024-04-02
  • 编译C#代码的应用方法是什么
    这篇文章主要介绍“编译C#代码的应用方法是什么”,在日常操作中,相信很多人在编译C#代码的应用方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”编译C#代码的应用方法是什么”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-18
  • Vue编译器实现代码生成方法介绍
    这里将讨论如何根据JavaScript AST生成渲染函数的代码,即代码生成。代码生成本质上是字符串拼接的艺术。需要访问JavaScript AST中的节点,为每一种类型的节点生成相...
    99+
    2023-01-05
    Vue代码生成 Vue代码生成方案
  • Android 源码编译方法
    和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、查看项目所在分支二、切换到目标分支三、查看当前所在分支四、编译Android源码五、source Android 编译环境六、...
    99+
    2023-09-22
    android
  • 云服务器编译代码
    云服务器的架构通常分为两层:服务器端和客户端。服务器端主要负责处理计算和存储资源的分配和管理,客户端负责处理与服务器的交互。在客户端,我们可以使用像Web浏览器、移动设备或其他设备来访问云服务器。 云服务器通常采用可扩展的服务器架构,这意...
    99+
    2023-10-28
    代码 服务器
  • vue3 使用 monaco-editor 自定义代码补全。
    使用场景:         数据编辑时需要支持sql语法高亮, 并且支持自定义代码提示补全。 monaco详细说明和使用可参考另一篇发文Monaco Editor (vite/webpack + ts + vue项目使用) 步骤一:安装依赖...
    99+
    2023-09-17
    vue.js java
  • Vue集成Monaco Editor的使用,以及开发Python代码编辑器和Sql等
    什么是Monaco Editor? ​微软之前有个项目叫做Monaco Workbench,后来这个项目变成了VSCode,而Monaco Editor(下文简称monaco)就是从这个项目中成长出来的一个web编辑器,他们很大一部分的代...
    99+
    2023-09-01
    编辑器 vue.js vscode monaco
  • 编写vbs/js基础代码方法教程
    这篇文章主要讲解了“编写vbs/js基础代码方法教程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“编写vbs/js基础代码方法教程”吧!我们的第一个vbs程序:还是那个老得掉牙的冬冬。 **...
    99+
    2023-06-08
  • TypeScript怎么使用vscode监视代码编译
    这篇文章主要讲解了“TypeScript怎么使用vscode监视代码编译”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“TypeScript怎么使用vscode监视代码编译”吧!安装全局安装t...
    99+
    2023-06-21
  • 教你使用webpack打包编译TypeScript代码
    TypeScript打包  webpack整合 通常情况下,实际开发中我们都需要使用构建工具对代码进行打包; TS同样也可以结合构建工具一起使用,下边以webpack为例介...
    99+
    2024-04-02
  • C#中如何使用编译器优化代码性能
    C#中如何使用编译器优化代码性能,需要具体代码示例引言:在软件开发中,代码性能是一个重要的考量因素。好的代码性能可以提升程序的运行速度,减少资源占用,并提供更好的用户体验。而在C#开发中,编译器提供了一些优化技术,可以帮助我们进一步提升代码...
    99+
    2023-10-22
    性能 编译器 优化
  • Monaco Editor开发SQL代码提示编辑器实例详解
    目录安装简易 SQL 编辑器相关功能获取选中代码替换选中代码处理光标位置自定义 SQL 库表提示,并保留原有 SQL 提示编辑器 resize编辑器设置主题SQL 代码格式化右键菜单...
    99+
    2022-11-13
    Monaco Editor开发SQL编辑器 Monaco Editor代码提示
  • C++编译器的使用方法是什么
    这篇文章主要介绍“C++编译器的使用方法是什么”,在日常操作中,相信很多人在C++编译器的使用方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++编译器的使用方法是什么”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-17
  • TypeScript使用vscode监视代码编译的过程
    安装 全局安装ts命令 npm install -g typescript 安装结束后运行tsc -v命令 显示版本号表示安装成功 接下来可以使用tsc 文...
    99+
    2024-04-02
  • 如何使用webpack4编译并压缩ES6代码
    这篇文章将为大家详细讲解有关如何使用webpack4编译并压缩ES6代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前段时间第一次接触了layabox游戏引擎做了一个项...
    99+
    2024-04-02
  • vue编译器util工具使用方法示例
    目录makeMap源码:isReservedTag 源码:pluckModuleFunction 源码:isReserved 源码:makeMap源码: function makeM...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作