vnote icon indicating copy to clipboard operation
vnote copied to clipboard

设置外部程序打开文件无效

Open hgyhgyhgyhgyhgy opened this issue 3 years ago • 7 comments

修改session.json文件。vnote处于关闭状态,修改完,启动vnote。设置外部程序打开并无效果。 直接在session.json上添加如下内容,无效。 "external_programs": [ { "name" : "notepad", "command" : "notepad %1", "shortcut" : "" } { "name" : "ultraedit", "command" : "C:\UltraEdit.32sc\UltraEdit-32sc\UltraEdit\Uedit32.exe %1", "shortcut" : "" } ] }

在session.json重找到下面的位置 "external_programs": [

],

然后把 { "name" : "notepad", "command" : "notepad %1", "shortcut" : "" } { "name" : "ultraedit", "command" : "C:\UltraEdit.32sc\UltraEdit-32sc\UltraEdit\Uedit32.exe %1", "shortcut" : "" } 插入到[]中,即 "external_programs": [ { "name" : "notepad", "command" : "notepad %1", "shortcut" : "" } { "name" : "ultraedit", "command" : "C:\UltraEdit.32sc\UltraEdit-32sc\UltraEdit\Uedit32.exe %1", "shortcut" : "" } ], 依然没有效果,作用。

hgyhgyhgyhgyhgy avatar Apr 27 '22 15:04 hgyhgyhgyhgyhgy

配置的路径好像是错的:

  1. notepade的配置应该是不行的吧,应该配置为指向exe文件的绝对路径
  2. 路径分隔符不能是反斜杠\,应该改成斜杠/或者转义后的反斜杠\\,配置文件的格式是json,请了解下json的语法。
"command" : "notepad %1",  // 错误
"command" : "C:\UltraEdit.32sc\UltraEdit-32sc\UltraEdit\Uedit32.exe %1" , // 错误
"command" : "C:\\UltraEdit.32sc\\UltraEdit-32sc\\UltraEdit\\Uedit32.exe %1" , // 正确
"command" : "C:/UltraEdit.32sc/UltraEdit-32sc/UltraEdit/Uedit32.exe %1" , // 正确

Fxiao1 avatar May 24 '22 04:05 Fxiao1

配置的路径好像是错的:

  1. notepade的配置应该是不行的吧,应该配置为指向exe文件的绝对路径
  2. 路径分隔符不能是反斜杠\,应该改成斜杠/或者转义后的反斜杠\\,配置文件的格式是json,请了解下json的语法。
"command" : "notepad %1",  // 错误
"command" : "C:\UltraEdit.32sc\UltraEdit-32sc\UltraEdit\Uedit32.exe %1" , // 错误
"command" : "C:\\UltraEdit.32sc\\UltraEdit-32sc\\UltraEdit\\Uedit32.exe %1" , // 正确
"command" : "C:/UltraEdit.32sc/UltraEdit-32sc/UltraEdit/Uedit32.exe %1" , // 正确

我把"command" : "C:\UltraEdit.32sc\UltraEdit-32sc\UltraEdit\Uedit32.exe %1" , 放进 "external_programs": [ ], 的括号里,即 "external_programs": [ "command" : "C:\UltraEdit.32sc\UltraEdit-32sc\UltraEdit\Uedit32.exe %1" , ], 然后重启vnote, session.json会自动恢复原状,新加的内容会自动被删除,也没效果,不能增加新的打开方式。 不知道是什么原因。

hgyhgyhgyhgyhgy avatar May 24 '22 04:05 hgyhgyhgyhgyhgy

引用vnote的帮助(请看最后一句):

外部程序

VNote支持通过在节点浏览器上下文菜单中的打开方式来调用外部程序打开笔记。

用户需要编辑会话配置(用户配置文件夹下的session.json文件)来添加自定义外部程序。一个例子如下:

{
    "external_programs": [
        {
            "name" : "gvim",
            "command" : "C:\\\"Program Files (x86)\"\\Vim\\vim80\\gvim.exe %1",
            "shortcut" : "F4"
        },
        {
            "name" : "notepad",
            "command" : "notepad %1",
            "shortcut" : ""
        }
    ]
}

一个外部程序可以包含3个属性:

  1. name:该程序在VNote中的名字;
  2. command:当使用该外部程序打开笔记时执行的命令;
    1. 使用%1占位符,会被替换为真实的文件路径(自动加上双引号包裹);
  3. shortcut:分配给该外部程序的快捷键;

修改配置前请关闭VNote

Fxiao1 avatar May 24 '22 04:05 Fxiao1

配置的路径好像是错的:

  1. notepade的配置应该是不行的吧,应该配置为指向exe文件的绝对路径
  2. 路径分隔符不能是反斜杠\,应该改成斜杠/或者转义后的反斜杠\\,配置文件的格式是json,请了解下json的语法。
"command" : "notepad %1",  // 错误
"command" : "C:\UltraEdit.32sc\UltraEdit-32sc\UltraEdit\Uedit32.exe %1" , // 错误
"command" : "C:\\UltraEdit.32sc\\UltraEdit-32sc\\UltraEdit\\Uedit32.exe %1" , // 正确
"command" : "C:/UltraEdit.32sc/UltraEdit-32sc/UltraEdit/Uedit32.exe %1" , // 正确

我把"command" : "C:\UltraEdit.32sc\UltraEdit-32sc\UltraEdit\Uedit32.exe %1" , 放进 "external_programs": [ ], 的括号里,即 "external_programs": [ "command" : "C:\UltraEdit.32sc\UltraEdit-32sc\UltraEdit\Uedit32.exe %1" , ], 然后重启vnote, session.json会自动恢复原状,新加的内容会自动被删除,也没效果,不能增加新的打开方式。 不知道是什么原因。

还有

  1. github的编辑框也是支持markdown的,建议你在描述的时候能将代码放置在代码块里,可以大大的方便别人阅读
  2. 我看你路径分隔符依然用的是反斜杠\,这是错误的

Fxiao1 avatar May 24 '22 04:05 Fxiao1

"command" : "C:/UltraEdit.32sc/UltraEdit-32sc/UltraEdit/Uedit32.exe %1"

两种都试过了。 无论是两个反斜,还是一个正斜,还是把vnote关闭后再修改session.json, 启动vnote后,都没有效果,而且session.json也会恢复原状,自动把external []里的内容自动删除了。这个很奇怪。

hgyhgyhgyhgyhgy avatar May 24 '22 05:05 hgyhgyhgyhgyhgy

这是我的 session.json 配置,你可以参考下是不是哪里出错了

{
// 省略……
    "external_programs": [
        {
            "command": "C:/Users/fxiao/software/VSCode/Code.exe %1",
            "name": "vsCode",
            "shortcut": ""
        }
    ],
// 省略……
}

至于“已经关闭vnote后修改session.json文件了,打开后依然会被还原”这个问题就不清楚了,我的按照这样修改是没有被还原。只能等作者来解答了

Fxiao1 avatar May 24 '22 05:05 Fxiao1

这是我的 session.json 配置,你可以参考下是不是哪里出错了

{
// 省略……
    "external_programs": [
        {
            "command": "C:/Users/fxiao/software/VSCode/Code.exe %1",
            "name": "vsCode",
            "shortcut": ""
        }
    ],
// 省略……
}

至于“已经关闭vnote后修改session.json文件了,打开后依然会被还原”这个问题就不清楚了,我的按照这样修改是没有被还原。只能等作者来解答了

"external_programs": [ "command" : "C:/UltraEdit.32sc/UltraEdit-32sc/UltraEdit/Uedit32.exe %1" , "name": “UltraEdit”, "shortcut": "" ], 一样会自动被还原。vnote是被关闭的,并非最小化到系统托盘。

hgyhgyhgyhgyhgy avatar May 24 '22 06:05 hgyhgyhgyhgyhgy

无法复现

tamlok avatar Aug 27 '22 22:08 tamlok