Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Monaco Editor component for React.

License

NotificationsYou must be signed in to change notification settings

uiwjs/react-monacoeditor

Repository files navigation

CIjsDelivr CDNDownloadsOpen in unpkgnpm version

Monaco Editor component for React. demo @uiwjs.github.io/react-monacoeditor/

Installation

npm install @uiw/react-monacoeditor --save

Using

Open in CodeSandbox

importReactfrom'react';importMonacoEditorfrom'@uiw/react-monacoeditor';exportdefaultfunctionDemo(){return(<MonacoEditorlanguage="html"value="<h1>I ♥ react-monacoeditor</h1>"height="300px"options={{theme:'vs-dark',}}/>);}

Using with Webpack

importReactfrom'react';import{render}from'react-dom';importMonacoEditorfrom'@uiw/react-monacoeditor';constcode=`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',        }}      />    );  }}`;classAppextendsReact.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(){constoptions={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(<MonacoEditorheight="500px"language="javascript"editorDidMount={this.editorDidMount.bind(this)}onChange={this.onChange.bind(this)}value={code}options={options}/>);}}render(<App/>,document.getElementById('root'));

Add theMonaco Editor Webpack Loader Pluginmonaco-editor-webpack-plugin to yourwebpack.config.js:

constMonacoWebpackPlugin=require('monaco-editor-webpack-plugin');module.exports={plugins:[newMonacoWebpackPlugin()]};

Properties

If you specifyvalue property, the component behaves in controlled mode.Otherwise, it behaves in uncontrolled mode.

  • width width of editor. Defaults to100%.
  • height height of editor. Defaults to100%.
  • value value of the auto created model in the editor.
  • defaultValue the initial value of the auto created model in the editor.
  • language the initial language of the auto created model in the editor.
  • theme the theme of the editorvs,vs-dark,hc-black
  • options refer toMonaco interface IEditorConstructionOptions.
  • editorDidMount(editor, monaco) an event emitted when the editor has been mounted (similar tocomponentDidMount of React).
  • onChange(newValue, event) an event emitted when the content of the current model has changed.
  • autoComplete?: (model: monaco.editor.ITextModel, position: monaco.Position) => languages.CompletionItem[]; User provided extension function provider for auto-complete.#47

Events & Methods

Refer toMonaco interface IEditor.

Related

Contributors

As always, thanks to our amazing contributors!

Made withgithub-action-contributors.

License

Licensed under the MIT License.


[8]ページ先頭

©2009-2025 Movatter.jp