问题标签 [monaco-editor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
10515 浏览

javascript - 摩纳哥编辑器的高度

我想做一个非常简单的摩纳哥编辑器:JSBin

当我在 Chrome 中看到它并上下滚动时,整个窗口都有一个滚动条。似乎是因为编辑器的高度大于窗口的高度。我只是不想看到任何滚动条。有谁知道如何实现这一目标?

编辑 1: Safari 10.1.2 中的屏幕截图height: calc(100% - 24px)

在此处输入图像描述

解决方案:

在答案的帮助下,这是对我有用的解决方案:

1) 我们需要在一个独立的 html 文件中而不是在 JSBin 中进行测试

2)关键是用overflow: hidden

3)结果,下面的代码在上下滚动时没有创建任何滚动条,当代码较长时,底部没有隐藏行:

0 投票
0 回答
160 浏览

javascript - 摩纳哥编辑:完成提供者冲突

我在 Web 项目中使用 Monaco Editor,我想:

  • 用作HTML语言来为文本提供补全和突出显示
  • 使用自定义{{...}}占位符提供一些自定义数据

问题是 HTML 语言为以for样式{结尾的括号提供了补全,这与我的括号补全冲突。是否有可能同时使用或禁用 HTML 单括号补全?}CSS{{{

0 投票
1 回答
1547 浏览

visual-studio-code - 如何在 Monaco Editor 中以编程方式触发键盘事件

在为代码编辑器编写生成测试套件时,我试图以编程方式调用KeyboardEvent在摩纳哥处理 ' 的事件处理程序。在 textarea 或根编辑器元素上创建new KeyboardEvent({...})并调度它不起作用。

例如,我们如何将编辑器转换为以下状态:

  1. 粘贴“abc”=>abc|
  2. 将光标移动 -1 =>ab|c
  3. 删除一次 =>a|c
  4. 输入“x” =>ax|c
0 投票
0 回答
359 浏览

javascript - 如何为 monaco 编辑器配置工作目录

我使用monaco-editor@0.10.0in electron,我为我的案例扩展了以下示例 https://github.com/Microsoft/monaco-editor-samples/blob/master/sample-electron/index.html

我想知道是否有任何方法可以为requireimport语句设置工作目录。例如,我有文件dependency.js,我想在编辑器中自动完成以下语句:

我尝试使用 options 设置 typescript/javascript 编译器baseUrlrootDirs但没有成功。

0 投票
1 回答
1094 浏览

html - 如何在摩纳哥编辑器中设置文件路径?

这是文件中的一段 html 代码test.html

这是我系统上的文件树。

ide ├── cpp14 │   ├── test.html ├── monaco └── node_modules ├── monaco-editor    └── test.html

test.html我将文件从复制monaco/node_moules/cpp14

并将所有路径更改cpp14/test.html

这不起作用,我认为在片段中设置这些文件的路径存在错误。如何使这项工作?

0 投票
0 回答
73 浏览

monaco-editor - 有没有办法用回退覆盖选项卡功能?

我正在研究 Emmet.io 对 Monaco 编辑器的支持,我希望在Tab密钥后面具有自动完成功能。但是有时没有可用的自动完成功能,在这种情况下,我想拥有旧的 Tab 功能。

有没有办法覆盖Tab密钥,但如果 Emmet 没有建议,请使用旧功能?

提前致谢!

0 投票
2 回答
680 浏览

javascript - 特定 Monaco 编辑器实例的 CompletionProvider

Monaco Editor 允许通过monaco.languages.registerCompletionProvider. 但是,这会在给定语言的所有实例中全局注册提供程序。

在我的具体情况下,我想在 SQL 编辑器中提供表和列的自动完成功能。但是我有很多实例,他们需要使用不同的表/列集。

有没有办法只为特定的编辑器实例注册自动完成?

0 投票
1 回答
667 浏览

monaco-editor - 附加(不是插入/替换)文本

我正在尝试以编程方式向编辑器添加一些内容。executeEdits 替换给定范围内的文本。如何添加/附加文本而不替换现有文本?也许通过使用片段命令可能是解决方案?但不知何故,我找不到如何做到这一点的例子。任何帮助,将不胜感激。

谢谢

0 投票
1 回答
410 浏览

monaco-editor - 在没有其他完成提供程序和代码提示的情况下使用打字稿标记器

我想使用 Monaco 来编辑 ES6 代码并想要语法着色。Monarch 在https://microsoft.github.io/monaco-editor/monarch.html提供了一个基本的 JavaScript 标记器,但它不符合 ES6。typescript 语言标记器是 ES6 的补充,但是当它带有很多我不想要的额外功能时,比如代码完成和类型提示。

是否可以仅使用 typescript 标记器,或者 ES6 是否有 monarch 标记器?

0 投票
1 回答
1472 浏览

javascript - 如何在 html 和 javascript 中创建虚假输入

我需要创建一个假输入,以便我可以将内容更改为 html 元素。

就像在Desmos应用程序中一样,您可以输入类似 :a^b的内容,它会在 html 中更改为b女巫 is: a<sup>b</sup

另请参阅执行语法突出显示、自动完成等功能的Monaco Editor 。

我熟悉contenteditable属性,但在演示中他们不使用它。

在这两个应用程序中,他们在不使用文本区域、隐藏输入或contenteditable属性的情况下实现了假输入。

所以我的问题是如何实现这种行为并使用假 oninput、onblur、oncopy 等处理函数实现假输入。