问题标签 [ngx-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 回答
442 浏览

angular - ngx-monaco-editor + Karma 测试运行器 - 如何将 monaco 实例加载到测试套件中?

我在我的应用程序中使用了@materia-ui/ngx-monaco-editor,并且在monaco使用 Karma+Jasmine 进行单元测试运行期间无法识别全局安装的库。

零件

在我的组件文件中,monaco正在从以下公开的接口中解析@materia-ui/ngx-monaco-editor

在此处输入图像描述

测试规范

在对我的组件进行单元测试时,我收到来自 Karma 的错误,告诉我未定义 monaco: 在此处输入图像描述

我正在努力让摩纳哥被 Karma 正确接收,至少我相信这是我的问题。

安装包时也安装@materia-ui/ngx-monaco-editormonaco-editor,所以我也尝试将 monaco-editor 脚本添加到我的 angular.json 文件中我的测试项目配置部分的脚本属性中:

这没有什么区别,那么monaco在我的测试套件中正确注册和提取的正确方法是什么?

更新

根据@Lucho 的建议,我在以下 Stackblitz 中复制了我的问题 - https://stackblitz.com/edit/materia-ngx-monaco-editor-ng9-zdpc2h?file=src/app/app.component.ts

请注意,与 Lucho 的方法不同,我没有将 MONACO_PATH 提供给 CDN 路径,而是在 angular.json 的assets应用程序和测试项目配置部分的属性中添加一个条目,以确保 monaco-editor 库是提供

所以,虽然我试图在 angular.json 文件的测试部分提供这个,但它似乎在实际测试运行中没有被以某种方式使用?

0 投票
1 回答
706 浏览

angularjs - 嵌入 ngx-monaco-editor 中没有 InjectionToken 提供程序

我正在尝试将 Monaco Editor 嵌入到我正在使用本指南https://github.com/atularen/ngx-monaco-editor#readme处理的 Web 应用程序中。我尝试添加ngx-monaco-editor标签,Angular 给了我这个错误。关于如何解决这个问题的任何想法?

这是我的component.ts

我已经通过安装 v9.0.0 解决了 glob 目录问题,但是这个错误确实让我卡住了很长一段时间。

编辑通过将 .forRoot 添加到 AppModule 导入来解决。我的错!我以为我已经添加了

0 投票
0 回答
218 浏览

monaco-editor - Monaco-editor :有没有办法防止光标/编辑器的焦点在单击编辑器外部时丢失(模糊)

Monaco-editor :- 有没有办法防止光标/编辑器焦点在编辑器外部单击时丢失。

我的场景:- 我在编辑器外部的下拉列表中有一个项目列表,用户可以选择一个下拉项目,我正在调用 executeEdits 将此选定项目粘贴到编辑器的先前光标位置。

当用户打开下拉菜单时,编辑器的焦点会丢失,用户现在不确定他选择的下拉菜单值将被插入到哪里。

有没有一种方法可以防止编辑器失去对模糊的关注。?

0 投票
0 回答
66 浏览

typescript - 如何在 Monaco 编辑器中创建打字稿声明文件编辑器

您好,我想创建一个仅处理 typescript 声明文件的 monaco 编辑器实例。我的想法是解析用户给出的声明文件代码,并使用 typescript 编译器 api(通过 ts-morph)对其进行处理。

如果操作正确,这个编辑器应该感觉就像 VSCode 和/或 IntelliJ 等 IDE 中的标准 *.d.ts 文件编辑器。(即不允许 if 块、方法块、调用或任何其他类型的逻辑语句。只有声明语句)。我很确定这是很容易实现的,但我只是无法抢占先机。

谢谢

0 投票
1 回答
219 浏览

angular - 有没有办法在 Monaco Editor Margin 中放置文本而不是图标类?

我知道如何将 glyphMarginClassName、linesDecorationsClassName 和 inlineClassName 添加到 Monaco Editor 的选项中。但是有没有办法在边距中添加字母字符?像这样:

Monaco Editor 的屏幕截图,显示通过使用 Chrome 调试器编辑 HTML 创建的边距文本

0 投票
0 回答
288 浏览

angular - ngx-monaco 未显示当前行或选定行

我在我的 angular 8 项目中使用 ngx-monaco@^8.0.0 和以下选项。

app.module.ts:

组件.ts:

组件.html

我试图在小地图上添加增量装饰信息,但它不起作用,后来我注意到由于某种原因,小地图甚至没有突出显示当前行甚至选定的行。 选定的行没有在小地图中突出显示 - 摩纳哥编辑器

0 投票
1 回答
81 浏览

monaco-editor - 如何以编程方式仅触发 monaco-editor 中的文档框

有没有办法以编程方式仅触发带有某些内容的文档框(在下图中突出显示)?

文件箱

带有文档的 CompletionItemProvider 将显示建议项目的列表,当我们单击显示更多图标时,它将显示特定建议项目的文档。但是,我想用一些按键直接显示文档。我们可以为按键分配一些编程行为。但是有没有办法只触发带有一些内容的文档框?

一个代码片段将不胜感激。

0 投票
0 回答
643 浏览

json - Monaco 编辑器默认 json uri 架构

我正在使用 monaco 编辑器来编辑 JSON,我想设置一个自定义诊断选项。我正在尝试https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-configure-json-defaults

从哪里来uri: "http://myserver/foo-schema.json"?我只想使用默认的 JSON 模式。不是我自己的。

像这样设置uri有效: uri: "http://localhost:4200/assets/monaco-editor/min/vs/language/json/jsonMode.js",

但是有没有一种干净的方法来设置这个值?也许 JSON 的 uri 值在某处可用?我搜索了 monaco.languages.json.jsonDefaults 但我没有找到任何东西。

0 投票
1 回答
64 浏览

javascript - 如何使用元素上的javascript在滚动上加载文件?

我已经尝试了一个多星期,但未能以角度实现它。有人可以看看吗?

onContainerScroll() 永远不会被调用,我想知道如何使用 javascript、滚动这个元素并到达下一个范围的底部调用 API?

0 投票
1 回答
174 浏览

monaco-editor - 如何根据之前的文本动态过滤 monaco-editor 建议?

我有一个建议列表,我希望编辑器根据之前输入的单词过滤显示的建议,例如,如果我的建议列表是 ['car', 'dog', 'pet'],如果我输入“洗。” 我只希望“汽车”显示为建议,并且如果我输入“获取”。我想要“宠物”和“狗”作为建议。

如果有帮助,这是我的代码示例: