标签: monaco-editor

如何为 Monaco 编辑器添加 padding-top?

如何在摩纳哥编辑器的第一行代码和顶部边框之间添加填充?

我有这个:

在此输入图像描述

但我需要这样的东西:

在此输入图像描述

javascript monaco-editor

9
推荐指数
1
解决办法
2656
查看次数

每个脚本文件只能有一个匿名定义调用

我正在使用 loader.js 创建摩纳哥编辑器,但在控制台中出现两次错误“每个脚本文件只能有一个匿名定义调用”。

<script src="/monaco-editor/min/vs/loader.js"></script>
Run Code Online (Sandbox Code Playgroud)

创建编辑器的代码

require.config({ paths: { 'vs': '/monaco-editor/min/vs' }});
 require(['vs/editor/editor.main'], function() {                
    monacoEditor= monaco.editor.create(document.getElementById('coding-editor'), {
        value: [
        'function x() {',
        '\tconsole.log("Hello world!");',
        '}'
    ].join('\n'),
    language: 'javascript'
    });
 });
Run Code Online (Sandbox Code Playgroud)

我尝试搜索该问题并找到以下相关答案:

您正在加载的某些代码正在使用匿名模块 ID 调用定义。你可以:

通过 AMD 加载器加载该代码(即手动需要它),以便 AMD 加载器创建标签<script>

在 AMD 加载程序之前加载该代码(即定义对该代码段不可用)

在该脚本的评估期间取消设置定义(即,如果您使用标签加载它<script>,则在之前取消设置定义并在之后恢复它)

尝试取消设置define.jquery,据我所知jquery可能会在定义函数上检查它

这个页面已经有很多 jquery 了,我之所以理解这一点是因为 jQuery。请帮助一些人通过例子让我理解。谢谢

javascript amd visual-studio-monaco monaco-editor

9
推荐指数
1
解决办法
5990
查看次数

如何在Monaco中使用带有外部类型定义的addExtraLib

我可以看到如何addExtraLib在摩纳哥使用添加环境声明文件.目前尚不清楚如何将此函数与外部声明文件一起使用,以便编辑器中的Typescript代码可以执行以下操作:

import * as External from "external" 

External.foo();
Run Code Online (Sandbox Code Playgroud)

在摩纳哥的设置方面,这似乎不起作用:

// compiler options
monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
    target: monaco.languages.typescript.ScriptTarget.ES2016,
    allowNonTsExtensions: true,
    moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,
    module: monaco.languages.typescript.ModuleKind.CommonJS,
    noEmit: true,
    noLib: true,
    typeRoots: ["node_modules/@types"]
});

// extra libraries
monaco.languages.typescript.typescriptDefaults.addExtraLib(
    'export declare function foo():string;', 'node_modules/@types/external/index.d.ts');

monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({
    noSemanticValidation: false,
    noSyntaxValidation: false
})
Run Code Online (Sandbox Code Playgroud)

monaco-editor

8
推荐指数
3
解决办法
3326
查看次数

如何将 monaco-editor 从只读设置为可写?

在我的代码中,我创建了一个编辑器,如下所示:

this.monacoEditor = monaco.editor
  .create(
    document.getElementById('ide'), {
      model: null,
      readOnly: true,
      contextmenu: false,
    }
  );
Run Code Online (Sandbox Code Playgroud)

所以现在该编辑器是只读的。我如何更改this.monacoEditor为可写/可编辑?

javascript typescript monaco-editor

8
推荐指数
1
解决办法
6100
查看次数

是否可以在摩纳哥编辑器中使用拆分窗格?

是否可以在摩纳哥编辑器中获得拆分窗格?类似于 VSCode 中所做的或摩纳哥本身提供的 Diff Editor 中使用的内容。

monaco-editor

8
推荐指数
1
解决办法
712
查看次数

摩纳哥编辑器动态调整大小

我一直在寻找一个讨论是否有可能模仿html标签textarea 在整个互联网上使用Monaco Editor的字段时调整大小,但我找不到回答我的问题.

我在React应用程序中使用monaco-editor npm包.您是否知道这是否易于实施?

先感谢您!

解决方案
使用纯css我选择了目标html元素并添加了以下属性:

__CODE__

javascript node.js reactjs monaco-editor

8
推荐指数
4
解决办法
3827
查看次数

如何在一个页面上有效地拥有许多只读的Monaco Diff Views?

我的理解是,Monaco针对编辑进行了优化,并且一次显示一个文件,使用固定大小的编辑器,它有自己的滚动条.

相反,我试图构建一个页面,其中多个文件的差异在彼此之下

  • 允许显示/隐藏每个文件,最多约100个文件
  • 隐藏未更改的文件部分(如果需要,允许将其显示为上下文)
  • 每个文件没有一个滚动条,但整个页面只有一个滚动条
  • 这些文件通常只能查看,但一次只能支持一个文件的编辑

我意识到这与摩纳哥的构建完全不同,但最终看起来似乎同样的视口和虚拟渲染技巧也适用,所以也许它在某种程度上可行?

我尝试为每个文件创建一个Monaco实例,但是在30个实例中开始变得非常缓慢.

一个非常丑陋的解决方法可能是拥有一个Monaco实例,连接所有文件,然后使用ViewZones,自定义行号提供程序和代码折叠提供程序来实现多个文件的印象.这听起来有点疯狂,还是真的有效?

还有其他建议吗?为什么IStandaloneDiffEditor 在名称中是独立的?这是否意味着还有另一种方法来创建更高效​​的差异编辑器?

javascript monaco-editor

7
推荐指数
1
解决办法
629
查看次数

获取摩纳哥命令/操作 ID 列表?

有没有办法获取 Monaco 的可用命令/操作及其 ID 的列表,例如editor.action.formatDocument

文档中似乎没有任何内容,我正在努力在 VS Code 存储库中查找注册的操作和命令。命令面板显示了其中的大部分,但如果您想使用 手动调用它们,则不会显示它们的 ID executeCommand

javascript monaco-editor

7
推荐指数
1
解决办法
4876
查看次数

摩纳哥编辑 - “操作”和“命令”之间的区别?

在摩纳哥编辑器实例中,您可以调用addActionaddCommand

两者都提供了根据关键事件执行功能的能力

在线游乐场提供了如何添加命令或如何向编辑器实例添加操作的示例。

动作示例

editor.addAction({
    id: 'my-unique-id',
    label: 'My Label!!!',
    keybindings: [monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter],
    run: function() { alert('action called') }
});
Run Code Online (Sandbox Code Playgroud)

命令示例

editor.addCommand(
  monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter,
  function() { alert('called command') }
)
Run Code Online (Sandbox Code Playgroud)

该文档描述了类型定义、属性和方法。

然而,它缺乏提供何时使用它们、它们在编辑器中出现的位置以及它们提供什么的上下文。

动作和命令有什么区别?

monaco-editor

7
推荐指数
1
解决办法
1721
查看次数

如何在React js中删除Monaco编辑器中的小地图、滚动条以及如何禁用Monaco编辑器中的写入?

我正在使用带有 React 的 Monaco 编辑器。运行良好。但我想删除其中的小地图和滚动条。我怎样才能删除它们?我想禁用其中的编辑。我怎样才能实现这些功能?请检查图片以供参考 - 在此输入图像描述

代码:

import Editor from "@monaco-editor/react";


export default function TwoSum() {

    return (
        <div>

            {/* Coding Page Content */}
            <div className="lg:flex h-full lg:w-12/12 lg:mx-2 mt-12 lg:py-4">
                {/* Coding Main Content Start */}
                <div className="lg:w-6/12 lg:pr-6 fixed overflow-scroll h-full pb-40">
                   // social 


                </div>
                {/* Coding Main Content End */}

                {/* Coding Right Sidebar Start */}
                <div className="lg:w-6/12 lg:pl-4 h-full px-2 mt-2 lg:mt-0 lg:px-0 absolute right-0">
                    
                    <Editor
                        height="80vh"
                        defaultLanguage="javascript"
                        defaultValue= {code}
                        className=" overflow-hidden"
                        readOnly = {true}
                        // …
Run Code Online (Sandbox Code Playgroud)

javascript css editor reactjs monaco-editor

7
推荐指数
1
解决办法
7388
查看次数