当前位置: 首页 > news >正文

网站运营有什么用手机能用的网站

网站运营有什么用,手机能用的网站,网站外链推广工具,安徽建设工程信息网实名制怎么解聘Monaco 是微软开源的一个编辑器,VSCode 也是基于 Monaco 进行开发的。如果在 React 中如何使用 Monaco,本文将介绍如何在 React 中引入 Monaco。 安装 React 依赖 yarn add react-app-rewired --dev yarn add monaco-editor-webpack-plugin --dev yarn…

Monaco 是微软开源的一个编辑器,VSCode 也是基于 Monaco 进行开发的。如果在 React 中如何使用 Monaco,本文将介绍如何在 React 中引入 Monaco。

安装 React 依赖

yarn add react-app-rewired --dev
yarn add monaco-editor-webpack-plugin --dev
yarn add monaco-editor
yarn add react-monaco-editor

创建Webpack 配置文件并添加插件

在项目的根目录下创建 config-overrides.js

const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin');module.exports = function override(config, env) {config.plugins.push(new MonacoWebpackPlugin({languages: ['json']}));return config;
}

引入 Monaco 组件

核心函数 handleEditorDidMount,行选中时,在行尾添加一句话,通过事件监听函数 onDidChangeCursorSelection 和 Decoration 进行实现

import logo from './logo.svg';
import './App.css';
import MonacoEditor from 'react-monaco-editor';
import { useRef, useState,useEffect }  from 'react';function App() {const editorRef = useRef(null);const monacoRef = useRef(null);const decorationsRef = useRef([]);const handleEditorDidMount = (editor, monaco) => {editorRef.current = editor;monacoRef.current = monaco;// Add an event listener for cursor position changeseditor.onDidChangeCursorSelection(() => {const selection = editor.getSelection();// if (selection.isEmpty()) {//   // Remove decorations if selection is empty//   editor.deltaDecorations(decorationsRef.current, []);//   return;// }const lineNumber = selection.positionLineNumber;const lineContent = editor.getModel().getLineContent(lineNumber);if (lineContent !== "") {// Add decoration if the line starts with 'var'const newDecorations = editor.deltaDecorations(decorationsRef.current, [{range: new monaco.Range(lineNumber, 1, lineNumber, 1),options: {isWholeLine: true,afterContentClassName: 'myAfterContentDecoration'}}]);decorationsRef.current = newDecorations;} else {// Remove decorations if the line does not start with 'var'editor.deltaDecorations(decorationsRef.current, []);}});};useEffect(() => {// Define custom styles for the decorationsconst style = document.createElement('style');style.innerHTML = `.myAfterContentDecoration::after {content: ' // 备注';color: green;font-weight: bold;}`;document.head.appendChild(style);}, []);return (<div style={{'margin':'100px auto', 'width': '800px'}}><MonacoEditorwidth="800"height="600"language="javascript"theme="vs-dark"value={""}options={""}editorDidMount={handleEditorDidMount}/></div>);
}export default App;

在这里插入图片描述

总结

Monaco 功能非常强大,API 也比较复杂,后面后陆续看看它的 API 如何使用。

http://www.yayakq.cn/news/690255/

相关文章:

  • 大英县住房和城乡建设局网站网站制作的公司哪个好
  • 文交所网站建设方案越策网站建设
  • 建设银行潍坊支行网站天津市建设厅官方网站
  • 网站建设:上海珍岛国内禁用的国外网站
  • 网站报价单模板提供网站建设备案报价
  • 个人网站的设计与实现专业论文图像处理工具网站制作定制18
  • 企业网站制作优化编程外包
  • 小迪网站建设网站建设市场调查报告
  • 运城网站建设公司有多少钱做网站需要那些技术
  • 做个公司网站多少钱淘宝网站开发店铺什么类别
  • 企业做网站多少钱室内设计公司排名前50
  • 庆阳有人做农资网站吗wordpress页面变量
  • 网站弹窗公告代码做装修的业务网站
  • 广州公司营销型网站建设全国商城网站建设
  • 湘潭做网站价格 d磐石网络关键词名词解释
  • 域名进行网站备案吗国内时事新闻2023最新
  • 云服务器网站文件夹做网站要幕布干啥呢
  • 禅城区建设局网站wordpress采集1024
  • 贵州交通建设集团有限公司网站成都微信网站设计
  • 莱芜举报网站wordpress响应式主题制作教程
  • 香格里拉网站建设中国能源建设集团招聘网站
  • 网站投放南昌金启网站建设
  • 厦门百度搜索网站排名注册个网站多少钱
  • 慈云寺网站建设亚洲做性视频网站
  • 电子商务网站备案莱芜 做网站 公司
  • 网站两侧对联广告图片注册页面设计代码
  • 门户网站开发设计方案西安网站建设ipv6
  • 有哪些做的好的自学网站视觉设计作品集
  • 品牌网站制作选哪家dedecms网站地图怎么做
  • seo网站外链工具淮南房产网