Sublimetext3 将URL添加到升华文本3菜单项不会';如果文件路径中有空格,则无法工作。如何在ST3中转义文本?
我不知道如何用一种简洁的方式来表达,所以这里是一种复杂的方式。很明显,我在玩弄并试图定制Sublime Text 3。我想我应该尽快解决这个问题 无论如何,我遇到了一个示例,它允许您将一个菜单项添加到ST3菜单列表中,该列表本质上是一个URL。我把它添加到“帮助”菜单中 代码段:Sublimetext3 将URL添加到升华文本3菜单项不会';如果文件路径中有空格,则无法工作。如何在ST3中转义文本?,sublimetext3,customization,sublimetext,Sublimetext3,Customization,Sublimetext,我不知道如何用一种简洁的方式来表达,所以这里是一种复杂的方式。很明显,我在玩弄并试图定制Sublime Text 3。我想我应该尽快解决这个问题 无论如何,我遇到了一个示例,它允许您将一个菜单项添加到ST3菜单列表中,该列表本质上是一个URL。我把它添加到“帮助”菜单中 代码段: { "caption": "Help", "mnemonic": "H", "id": "help", "children": [ { "command"
{
"caption": "Help",
"mnemonic": "H",
"id": "help",
"children": [
{
"command": "open_url",
"caption": "Twitter",
"args": {"url": "https://twitter.com/WhatsTrending"}
},
],
},
然后,我想,如果它还可以打开一些本地文件,那不是很酷吗,所以我添加了以下内容:
{
"caption" : "Local File",
"command" : "open_url",
"args" : { "url": "file:///Users/<username>/me.html" },
},
{
"caption":"ST3 Custom File",
"command" : "open_url",
"args": {"url": "file:///Users/<username>/Library/Application Support/Sublime Text 3/Packages/User/me.html"}
},
},
我本来想工作,但没有,所以我很困惑。我的猜测是,路径中的空间需要逃逸,但我尝试的一切都失败了,有人知道如何正确逃逸吗
显然,这样做是行不通的file:///Users//Library/Application Support/Sublime\Text\3/Packages/User/me.html“,因为字符串没有计算或插值。当然,在发布后30分钟,我尝试了一些最终有效的方法。因为我想不出还有什么别的办法,所以我尝试了URL编码,结果真的成功了。我所要做的就是将“”(空格)替换为“%20”和中提琴!它按预期工作 最后一个,现在看起来像这样:
{
"caption":"ST3 Custom File",
"command" : "open_url",
"args": {"url": "file:///Users/<username>/Library/Application%20Support/Sublime%20Text%203/Packages/User/me.html"}
},
{
“标题”:“ST3自定义文件”,
“命令”:“打开url”,
“args:{“url”:”file:///Users//Library/Application%20Support/Sublime%20Text%203/Packages/User/me.html"}
},
它ST3会在默认浏览器中打开html文件。无论如何,我希望这能帮助一些人。出于好奇,另一个答案(\)中的方法也有效吗?@Cerberus我试图使用问题最后几行描述的“\”方法逃避。我认为原因是,用于ST3设置的JSON风格不允许字符串发生变化,因此不能进行任何插值或转义。