react monacoeditor
v3.6.0
Monaco Editor -Komponente für React. Demo @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' )
) ; Fügen Sie das Monaco Editor WebPack Loader Plugin monaco-editor-webpack-plugin zu Ihrem webpack.config.js hinzu:
const MonacoWebpackPlugin = require ( 'monaco-editor-webpack-plugin' ) ;
module . exports = {
plugins : [
new MonacoWebpackPlugin ( )
]
} ; Wenn Sie value angeben, verhält sich die Komponente im kontrollierten Modus. Andernfalls verhält es sich im unkontrollierten Modus.
width des Herausgebers. Verzug auf 100% .height des Herausgebers. Verzug auf 100% .value des automatisch erstellten Modells im Editor.defaultValue Der Anfangswert des auto erstellten Modells im Editor.language Die anfängliche Sprache des automatisch erstellten Modells im Editor.theme Das Thema des Editors vs , vs-dark , hc-blackoptions Siehe Monaco Interface IeditorConstructionoptions.editorDidMount(editor, monaco) Eine Veranstaltung, die beim Montieren des Herausgebers ausgestrahlt wurde (ähnlich wie bei componentDidMount von React).onChange(newValue, event) Ein Ereignis, das sich geändert hat, wenn sich der Inhalt des aktuellen Modells geändert hat.autoComplete?: (model: monaco.editor.ITextModel, position: monaco.Position) => languages.CompletionItem[]; Benutzerbereitete Erweiterungsfunktion Anbieter für automatische Vervollständigung. #47 Siehe Monaco Interface Ieditor.
Wie immer dank unserer erstaunlichen Mitwirkenden!
Hergestellt mit Github-Action-Contributors.
Lizenziert unter der MIT -Lizenz.