gpt4 book ai didi

MongoDB - 编辑器变量 - MongoDB shell - Windows 7

转载 作者:可可西里 更新时间:2023-11-01 09:23:17 25 4
gpt4 key购买 nike

EDITOR 变量功能真的适用于 Windows 7 吗?

我正在阅读一篇文章,说一旦我们设置了 EDITOR 变量
在 .mongorc.js 中,我们只需在 shell 中输入:edit var_name
var_name 将加载到编辑器中(在我的例子中是 UltraEdit)
用于编辑。完成更改后,我们可以
保存并退出编辑器;然后变量将被解析
并加载回 shell。
粗斜体部分
对我不起作用。

它所做的只是让我在桌面上保存一些 js 文件?!

有什么想法吗?

编辑:

我注意到如果我将它设置为记事本(“notepad.exe”),
它工作正常。但是如果我将它设置为 UltraEdit ("uedit32.exe"),
它并不像人们期望的那样工作。

最佳答案

EDITOR 环境变量适用于 Windows,但看起来有一些因素会影响 MongoDB 2.4 的可用性。

当您使用edit 命令时,mongo shell 会写入一个临时JavaScript 文件,其中包含该变量的内容和launches the external editor。使用此文件路径。然后 shell session 等待编辑器退出并检查返回代码

这在以下情况下效果不佳:

  • 外部编辑器有一个多文档界面,并且已经有其他文档打开了

  • 外部编辑器没有返回预期的 0(无错误)返回码

解决方法

  • EDITOR 设置仅限于使用单一文档编辑器。虽然 notepad.exe 可以工作,但可能有一个功能更强大的编辑器,其中包括 JavaScript 语法高亮显示。

  • 如果您正在开发复杂的 JavaScript 函数,您可能希望将它们放在外部文件中。您可以使用 load("/path/to/file.js")将最新版本的 JS 文件重新加载到 shell 中。

super 编辑

UltraEdit 有一些额外的用户体验问题(我用 UltraEdit V20 测试过):

  • (运气好)如果在从 mongo shell 调用 edit 之前没有打开 UltraEdit 并且不要打开任何额外的选项卡,它将用作外部编辑器。您应该能够从 mongo shell 中成功使用 edit 来启动 UltraEdit,编辑变量,并在关闭 UltraEdit 时查看保存的结果。 UltraEdit 提示将更新后的 JS 文件保存在同一位置。

  • (不起作用)如果 UltraEdit 已经打开 并且有其他文档选项卡,它会有不同的行为。 mongo shell 中的edit 命令将打开一个新选项卡,但是当您关闭此选项卡(以保存更改)时,UltraEdit 会提示“另存为”对话框。 UltraEdit 保存了 JS 文件,但显然没有返回预期的退出代码,因此 mongo shell 不知道 JS 文件已经更新,应该重新加载。

编辑:感谢 UltraEdit 专家的建议,我找到了使 UltraEdit 工作良好的配置设置:

  • 打开配置设置(高级 > 配置菜单)
  • Application Layout > Miscellaneous下启用设置复选框Maintain separate process for each file opened from external application
  • 重新启动 UltraEdit(该设置似乎要等到下次启动时才会生效)

启用“单独进程”设置后,您现在应该能够将 UltraEdit 用作外部 EDITOR,并在关闭从 mongo< 打开的编辑选项卡时看到反射(reflect)的更改 shell 。

关于MongoDB - 编辑器变量 - MongoDB shell - Windows 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21467138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com