react monacoeditor
v3.6.0
Composant de l'éditeur Monaco pour React. démo @ uiwjs.github.io / react-monacoeditor /
npm install @uiw/react-monacoeditor --save import React from 'react' ;
import MonacoEditor from '@uiw/react-monacoeditor' ;
export default function Demo ( ) {
return (
< MonacoEditor
language = "html"
value = "<h1>I ♥ react-monacoeditor</h1>"
height = "300px"
options = { {
theme : 'vs-dark' ,
} }
/>
) ;
} import React from 'react' ;
import { render } from 'react-dom' ;
import MonacoEditor from '@uiw/react-monacoeditor' ;
const code = `import React, { PureComponent } from 'react';
import MonacoEditor from '@uiw/react-monacoeditor';
export default class App extends PureComponent {
render() {
return (
<MonacoEditor
language="html"
value="<h1>I ♥ react-codemirror2</h1>"
options={{
selectOnLineNumbers: true,
roundedSelection: false,
cursorStyle: 'line',
automaticLayout: false,
theme: 'vs-dark',
}}
/>
);
}
}
` ;
class App extends React . Component {
constructor ( props ) {
super ( props ) ;
this . state = {
code : '// type your code...' ,
}
}
editorDidMount ( editor , monaco ) {
console . log ( 'editorDidMount' , editor , monaco ) ;
editor . focus ( ) ;
}
onChange ( newValue , e ) {
console . log ( 'onChange' , newValue , e ) ;
}
render ( ) {
const options = {
selectOnLineNumbers : true ,
roundedSelection : false ,
readOnly : false ,
cursorStyle : 'line' ,
automaticLayout : false ,
theme : 'vs-dark' ,
scrollbar : {
// Subtle shadows to the left & top. Defaults to true.
useShadows : false ,
// Render vertical arrows. Defaults to false.
verticalHasArrows : true ,
// Render horizontal arrows. Defaults to false.
horizontalHasArrows : true ,
// Render vertical scrollbar.
// Accepted values: 'auto', 'visible', 'hidden'.
// Defaults to 'auto'
vertical : 'visible' ,
// Render horizontal scrollbar.
// Accepted values: 'auto', 'visible', 'hidden'.
// Defaults to 'auto'
horizontal : 'visible' ,
verticalScrollbarSize : 17 ,
horizontalScrollbarSize : 17 ,
arrowSize : 30 ,
} ,
} ;
return (
< MonacoEditor
height = "500px"
language = "javascript"
editorDidMount = { this . editorDidMount . bind ( this ) }
onChange = { this . onChange . bind ( this ) }
value = { code }
options = { options }
/>
) ;
}
}
render (
< App /> ,
document . getElementById ( 'root' )
) ; Ajoutez le plugin de chargeur WebPack de l'éditeur Monaco monaco-editor-webpack-plugin à votre webpack.config.js :
const MonacoWebpackPlugin = require ( 'monaco-editor-webpack-plugin' ) ;
module . exports = {
plugins : [
new MonacoWebpackPlugin ( )
]
} ; Si vous spécifiez la propriété value , le composant se comporte en mode contrôlé. Sinon, il se comporte en mode incontrôlé.
width de largeur de l'éditeur. Par défaut à 100% .height hauteur de l'éditeur. Par défaut à 100% .value du modèle créé automatique dans l'éditeur.defaultValue la valeur initiale du modèle créé automatiquement dans l'éditeur.language la langue initiale du modèle créé par l'auto dans l'éditeur.theme le thème de l'éditeur vs , vs-dark , hc-blackoptions se réfèrent à l'interface de Monaco IDEditorConstructionOptions.editorDidMount(editor, monaco) Un événement émis lorsque l'éditeur a été monté (similaire à componentDidMount de React).onChange(newValue, event) Un événement émis lorsque le contenu du modèle actuel a changé.autoComplete?: (model: monaco.editor.ITextModel, position: monaco.Position) => languages.CompletionItem[]; Fournisseur de fonctions d'extension fournis par l'utilisateur pour l'achèvement automatique. # 47 Reportez-vous à l'interface Monaco Iediter.
Comme toujours, grâce à nos incroyables contributeurs!
Fabriqué avec des contributeurs github-action.
Licencié sous la licence du MIT.