问题标签 [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 投票
1 回答
115 浏览

visual-studio-code - 当某些部分在编辑器中不可见时,整个内容小部件会被强制隐藏

我正在使用带有内容小部件组合的视图区域来在编辑器中的代码下方显示自定义小部件。如我所见,如果小部件的边界在编辑器中不完全可见,则可见性样式被强制设置为隐藏。有没有办法禁用这种行为?也许带有内容小部件组合的视图区域根本不是正确的方法......如果是这样,有人可以建议吗?我从代码镜头中得到了这个想法。

0 投票
1 回答
233 浏览

regex - 将日志字符串与正则表达式匹配

希望我能在这里找到帮助,因为我真的对正则表达式一无所知。我正在尝试使用从此示例开始的monaco 编辑器创建日志文件查看器,但我的日志字符串可以是多行的,我想使用不同的日期格式。所以假设我有一个这样的日志字符串:

这目前与我的日期格式不匹配,如果有回车符,它只会匹配日志消息的第一行,它与下一个日志消息不匹配。这里有任何可以帮助我的RegexGuru吗?:)

更新: 所以这是我想出的解决方案。显然我仍然无法匹配 [DATE] 字符串之间的多行。所以现在我将匹配例如 [error] 作为解决方法。也许有人可以把我推向正确的方向......

0 投票
2 回答
888 浏览

monaco-editor - 在摩纳哥编辑器中禁用括号的自动关闭

如何禁用特定括号的自动关闭?我有一个激活的 java 模式,摩纳哥正在自动关闭 '<' 到 '<>'

0 投票
1 回答
4803 浏览

javascript - ReferenceError:未定义摩纳哥

我正在尝试将 microsoft monaco 编辑器与 angular 2 一起使用。我的组件是

所以基本上,我试图首先通过检查window.require上的if条件来加载摩纳哥,一旦加载了摩纳哥的主editor.main文件,我就会尝试使用monaco.editor.create()创建一个编辑器。但即使在加载 editor.main.js 之后,它也无法解析 monaco。我尝试调试并查看 initMonaco 函数中 monaco 的值,它显示为不可用。难道我做错了什么?

注意:vs 已经解析为 monaco-editor/min/vs 了,它也可以将 js 文件加载到浏览器。此外,像 options 和 _value 这样使用的所有变量都在组件中声明(我从这里删除了它们)。

0 投票
1 回答
694 浏览

monaco-editor - 类型的结构自动完成

我们正在努力将 Monaco 与我们使用 React 构建的基于 Web 的 RAD 产品集成。它有一个 UI 来创建状态(一个简单的 JSON 结构)和事件处理程序编辑器,用户可以在其中编写函数来处理诸如 onClick 等组件事件。我们使用 Monaco 作为事件处理程序部分。典型的事件处理程序如下所示(简化) -

请注意,$state结构基于用户创建的状态的形状。

现在代码托管在摩纳哥,我们想让用户看到 $state 变量的自动完成。在 Monaco Playground 中查看与此用例最接近的示例,我们是否需要围绕 $state 结构创建一个动态 d.ts 才能使其工作?或者有没有更简单的替代方法,我们将 State 结构注入到编辑器 DOM 中并让它自动完成?

0 投票
2 回答
3485 浏览

javascript - 使用 require js 导入 monaco 编辑器

我已经安装了 monaco-editor 使用

现在我想在我的 js 文件中要求

所以我试图要求使用

但它给了我找不到模块的错误。

我做错了吗?

0 投票
1 回答
1327 浏览

monaco-editor - monaco-editor:如何将编辑器中的文本解析为属性、运算符和值等

我知道如何将文本输入到 monaco-editor

这让我得到以下

而我想要的是类似于这个的东西

这个选择器得到以下内容,我可以用 "".split(' ') 进一步解析

得到我以下。我很难相信 monaco 对象不能返回我想要的,因为它提供了一个弹出窗口,将 EnvironmentName 属性标识为字符串类型的属性

这是我可以从编辑器的 API 中做的事情吗?还是我需要将文本发送回我可以使用适当反射工具的服务?

0 投票
1 回答
1560 浏览

javascript - 摩纳哥编辑器获取行号

我正在开发一个项目,该项目将显示从 Monaco 编辑器中选择的相应寄存器号的弹出窗口。为此,我需要在 Monaco 编辑器中选择的行号。如何从编辑器中获取特定的行号并将其传递给 javascript 函数?

提前致谢

0 投票
1 回答
503 浏览

tokenize - Monaco Editor - 使用递归状态匹配同一行上的任意数量的参数?

我需要以下帮助:我们正在 Web GUI 中实现 Monaco 编辑器 ( https://github.com/Microsoft/monaco-editor ) 作为 RobotFramework-like ( http://robotframework. org ) 空格分隔的语法。每个关键字/参数使用两个或多个连续空格分隔。一个关键字/参数也可以包含一个或多个空格,如果它们不连续的话。

使用 Monarch 标记器,我们成功地编写了匹配行的正则表达式,我们知道将使用多少个参数,但是,我们的一些关键字提供了提供任意数量参数的可能性:

我们想给每个参数一个名为“argument”的类,给空格一个名为“separator”的类。我们已经有了一条规则,匹配关键字和以下空格,将 arg1..argN 字符串发送到状态“参数”:

我们认为我们可以让状态调用自身来匹配任意数量的 arg-spaces 组合。但是,标记化的控制台输出表明状态不会调用自身,而是跳到下一行。

有谁知道我们做错了什么?我们的用例有更好的解决方案吗?

谢谢!


编辑:找到一个相当复杂的解决方案;它取决于两个交替状态,具有一些相当复杂的正则表达式匹配以及编辑器的“switchTo”和“cases”功能的使用:

0 投票
3 回答
8692 浏览

javascript - 向 monaco 编辑器提供类型提示

我正在尝试使用 Monaco 编辑器在 javascript 编辑器中提供智能感知/代码完成。代码必须是有效的 JavaScript,而不是打字稿。

给定一些用户输入的脚本是这样的:

我想在事件参数上提供代码完成,这是一个我有 t.ds 的打字稿类,可以在运行时推断。

理想情况下,我只想告诉 Monaco 的类型eventSomeEventClass,然后让它完成剩下的工作。即使这意味着向脚本添加类型提示。但我看不出该怎么做。我尝试在用户脚本中使用 JSDoc 语法和各种组合,但它看起来像是阻止了 FTB,请参阅: https ://github.com/Microsoft/monaco-editor/issues/203 和 为 VSCode/Monaco Intellisence 添加 JavaScript 类型提示

我还尝试按照 https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-configure-javascript-defaults注入动态 d.ts

但是声明这个函数对编辑来说似乎没有任何意义。声明一个新类肯定有效,我只是不知道如何告诉 Monacoevent在那个函数中是一个特定的类型。

我可以看到 registerCompletionItemProvider API,但这并没有为您提供任何声明项目的上下文等,也不允许我自动使用我想要的 d.ts 文件。