摩纳哥代码编辑器第二个编辑器的自定义行号

时间:2019-08-18 12:19:59

标签: monaco-editor

我正在IDE的网页上使用monaco代码编辑器。

我正在为我的Web应用程序使用

我需要使用部分代码readOnly并保持可编辑状态。不幸的是,我在monaco编辑器中找不到lineRange readOnly选项。 因此,我选择在同一页面上放置2个monaco编辑器。

this.state.DEFAULT_CODE.map((item, key) => {return(                                                                 
    <MonacoEditor key={key}                                                                        
     height='400'                                                         
     className="codemirror1"
     language="C"
      options={options}                                                                       
       value={item.value}
      editorDidMount={(editor, monaco) => {
      this.editor = editor;
      editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_C, () 
       => null);
     }}
    onChange={(value) => {
     this.setState({
       DEFAULT_CODE: value,
     });
    }}
   />
)

现在我希望第二个编辑器行号从第一个编辑器的行尾开始。 可能吗.... 如果有的话,谁能帮助我。...

1 个答案:

答案 0 :(得分:0)

您可以使用lineNumbers选项。这是一个使行编号从零开始的示例:

options = {
  lineNumbers: num => num - 1,
  lineNumbersMinChars: 2,
  glyphMargin: false,
};

这是将数字映射到罗马数字的另一个示例:

const useRomanNums = (num) => {
    const map = [ 'O', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X'];
    return (num < map.length) ? map[num] : num;
}

const options = {
  lineNumbers: useRomanNums
};