【问题标题】:Open specific .m file with Notepad++ custom file editor in Octave 6.2.0 (GUI)在 Octave 6.2.0 (GUI) 中使用 Notepad++ 自定义文件编辑器打开特定的 .m 文件
【发布时间】:2021-10-03 12:49:59
【问题描述】:

我使用带有 Notepad++ 的 Octave 6.2.0 作为自定义文件编辑器。当我从 CLI 键入 edit myfunction 时,文件正常打开,但是当我从 GUI 键入相同的内容时,我在 Notepad++ 中打开的最后一个文件显示,就好像我从 Windows 资源管理器中单独打开了 Notepad++(我我正在使用 Windows 10)。在 GUI 中,这与在不带参数的情况下键入 edit 的行为相同,而在 CLI 中则按预期工作。似乎我的 GUI 忽略了 edit 函数输入参数,并将参数作为括号中的字符串传递,即 edit('myfunction')edit('myfunction.m') 没有帮助。有办法改变吗?

【问题讨论】:

标签: notepad++ octave octave-gui


【解决方案1】:

当您在 GUI octave 中时,会忽略 EDITOR 环境变量,并使用内置编辑器。

但是,在 octave gui 的首选项/编辑器对话框中,有一个选项可以指定自定义编辑器。这可能会做你想要的。

【讨论】:

  • 我将自定义编辑器设置为 Notepad++,它确实会切换到在原生 Octave 编辑器上使用该程序,但仍然只有 CLI 版本会使用 edit 函数打开特定的 .m 文件,而 GUI 像 Windows 资源管理器一样打开它,显示最近查看的文件。
  • 如果您正确阅读该部分,它提到%f 将替换为文件名,%l 将替换为行号。这意味着您需要使用这些来告诉 notepad++ 要打开哪个文件(以及在哪一行,如有必要),就像您从命令行调用 notepad++ 时一样。如果你在那个框中唯一的东西是notepad++,那么基本上每当你调用编辑命令时,八度都会运行notepad++命令,不带参数,它只是打开记事本++(碰巧记事本++在“最近文件模式)。
  • tl;dr:用notepad++ %f替换notepad++
  • 我在自定义文件编辑器行中有完整的路径和 .exe 文件名,即C:\Program Files (x86)\Notepad++\notepad++.exe,以及设置为相同路径/文件的EDITOR。在该行中使用 EDITOR() 会导致错误窗口显示 Octave 无法启动该自定义文件编辑器,并且将 %f 添加到完整路径/文件或 EDITOR() 会导致类似的错误消息框。
  • EDITOR 在这里不相关。这是一个 GUI 首选项。以上所有内容均适用于 GUI 首选项中的相关编辑字段。尝试在整个内容周围使用双引号或仅使用 "%f"(或在 notepad++ 和 %f 位上分别使用)。
【解决方案2】:

在首选项菜单的自定义文件编辑器规范中使用双引号中的 Notepad++ 和 %f 的完整路径,即

C:\Program Files (x86)\Notepad++\notepad++.exe "%f"

【讨论】:

  • 为什么不用双引号括起来?
  • @TasosPapastylianou,这对我不起作用,但 %f 周围的双引号可以。感谢您对此的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 2022-10-16
  • 1970-01-01
  • 2014-04-10
相关资源
最近更新 更多