react monacoeditor
v3.6.0
REACT의 모나코 편집기 구성 요소. 데모 @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' )
) ; Monaco 편집기 Webpack Loader 플러그인 monaco-editor-webpack-plugin webpack.config.js 에 추가하십시오.
const MonacoWebpackPlugin = require ( 'monaco-editor-webpack-plugin' ) ;
module . exports = {
plugins : [
new MonacoWebpackPlugin ( )
]
} ; value 속성을 지정하면 구성 요소는 제어 모드에서 동작합니다. 그렇지 않으면 통제되지 않은 모드로 작동합니다.
width . 기본값은 100% 로.height . 기본값은 100% 로.value 값.defaultValue 편집기에서 자동 생성 된 모델의 초기 값.language 편집기에서 자동 생성 된 모델의 초기 언어.theme 편집자 vs , vs-dark , hc-black 의 테마options Monaco 인터페이스 ieditorconstructionoptions를 참조하십시오.editorDidMount(editor, monaco) 편집기가 장착되었을 때 ( componentDidMount of React와 유사) 이벤트가 방출됩니다.onChange(newValue, event) 현재 모델의 내용이 변경되었을 때 발생하는 이벤트입니다.autoComplete?: (model: monaco.editor.ITextModel, position: monaco.Position) => languages.CompletionItem[]; 자동 완성을위한 사용자 제공 확장 기능 제공자. #47 Monaco 인터페이스 ieditor를 참조하십시오.
항상 그렇듯이 놀라운 기고자 덕분에!
Github-Action-Contritors와 함께 제작되었습니다.
MIT 라이센스에 따라 라이센스.