react-monaco-editor格式化

  1. 引入react-monaco-editor
import Monaca from 'react-monaco-editor';

引入react-monaco-editor
2、配置

const editorDidMountHandle = (editor: any, monaco: any) => {
    editor.getAction('editor.action.formatDocument').run()  //格式化
  }
 <Monaca
            height={monacaHeight}
            language="json"
            theme="vs-light"
            options={{ selectOnLineNumbers: true, automaticLayout: true, wordWrap: 'wordWrapColumn', wrappingStrategy: 'simple', wordWrapBreakBeforeCharacters: ',', wordWrapBreakAfterCharacters: ',', disableLayerHinting: true }}
            value={config ? config : ''}
            onChange={onChangeHandle}
            editorDidMount={editorDidMountHandle}
          />

格式化当前的语言,如json
3、格式化成功后的效果
格式化后的效果

-----------------------------------------------------------补充更新 2022.11.3---------------------------------------------------------------
需要注意一下:
我用的react开发,另外安装了monaco-editor-webpack-plugin,需要在.umirc.ts配置一下

import MonacoWebpackPlugin from 'monaco-editor-webpack-plugin'

  chainWebpack: (config, { webpack }) => {
    config.plugin('react-monaco-editor').use(MonacoWebpackPlugin, [
      {
        languages: ['json', 'xml', 'yaml', 'sql', 'markdown']
      }
    ])
  },

在这里插入图片描述

格式化并不事所有语言类型都支持的,可以打印或者右键查看一下,是否有format document,有就支持没有就不支持

官网的预览地址可以看到详细的
我用的版本:“monaco-editor-webpack-plugin”:“5.0.0”, “react-monaco-editor”: “0.45.0”,很多报错都是版本不对应引起的,可以查一下版本的对应关系。虽然有点麻烦,但是祝你好运。

官网参考地址(最新的消息还是官网查最靠谱啦):
monaco-editor开发文档
react-monaco-editor
monaco-editor
monaco-editor预览地址:可以参考样式,支持的语言类型、主题

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
React-Monaco-Editor 是一个 React 封装的 Monaco Editor,可以在 React 应用中方便地使用 Monaco Editor。Monaco Editor 是一个强大的代码编辑器,被广泛应用于微软的 VS Code 编辑器中。 下面是使用 React-Monaco-Editor 的步骤: 1. 安装 React-Monaco-Editor 使用 npm 或者 yarn 安装: ``` npm install react-monaco-editor ``` 或者 ``` yarn add react-monaco-editor ``` 2. 导入 React-Monaco-Editor 在需要使用 Monaco Editor 的组件中导入 React-Monaco-Editor: ```jsx import React, { useState } from 'react'; import MonacoEditor from 'react-monaco-editor'; ``` 3. 使用 React-Monaco-Editor 使用 React-Monaco-Editor 组件,传入需要编辑的代码和一些配置项: ```jsx function MyEditor() { const [code, setCode] = useState('const hello = "Hello, world!";'); const options = { selectOnLineNumbers: true }; return ( <MonacoEditor width="800" height="600" language="javascript" theme="vs-dark" value={code} options={options} onChange={setCode} /> ); } ``` 在上面的例子中,我们使用 useState 来管理编辑器中的代码,然后传入了一些配置项,比如语言是 JavaScript,主题是暗色,宽度和高度是 800 和 600。还传入了一个 onChange 函数,用来实时更新编辑器中的代码。 4. 更多配置项 React-Monaco-Editor 支持很多配置项,比如: - language:编辑器的语言,如 JavaScript、HTML、CSS 等。 - theme:编辑器的主题,如 vs、vs-dark、hc-black 等。 - value:编辑器的默认值。 - options:编辑器的选项,如是否显示行号、缩进大小等。 - editorDidMount:当编辑器初始化完成后的回调函数。 - onChange:当编辑器内容改变时的回调函数。 更多配置项可以参考官方文档:https://github.com/superRaytin/react-monaco-editor#readme。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值