如何配置VSCode以在外部编辑器中打开给定的文件类型



在我当前的特定情况下,我正试图用Poedit打开一个.po文件。我可能还想用Photoshop打开.psd文件,用Illustrator打开.svg文件。

我怀疑我仍然没有找到合适的搜索词。我已经找到了对launch.json的引用(我认为它用于配置外部调试?(,但还没有找到,更不用说我目前的目标是"让我双击一个PO并在Poedit中打开它!">

编辑:目前似乎不可能(另请参阅https://github.com/fabiospampinato/vscode-open-in-application/issues/9)。

原始答案:

你可以尝试这个扩展:在应用程序中打开

我发现了这个扩展:在YuTengjing的外部应用程序中打开。安装后,我可以在指定的应用程序中打开资产。我真的很喜欢这样一个选项,我可以同时在多个应用程序中创建一个文件(例如,在Chrome、Firefox和Edge中打开一个html文件进行跨浏览器测试(。

正如@josh1978所说,余腾静的"在外部应用程序中打开"效果很好,基本上解决了问题。

然而,它在WSL2环境中存在一些问题,因为当前${file}的替换变量将文本rc解释为控制字符,并且该路径包括完整的WSL路径I.E.wsl.hostUbuntuhome...

为了让它发挥作用,你必须使用shell命令玩一些游戏,以强制路径到达所需的路径。这是一个将为powerpoint和excel文件启动lbreoffice的配置。

"openInExternalApp.openMapper": {
"extensionName": "pptx",
"apps": [{
"title": "libreoffice", 
"shellCommand": "bash -c 'file="${file}";libreoffice "${file/*Ubuntu/}"' " 
}]
},
{
"extensionName": "xlsx",
"apps": [{
"title": "libreoffice", 
"shellCommand": "bash -c 'file="${file}";libreoffice "${file/*Ubuntu/}"' "
}]
}

来解释一下它的作用。它以bash(而不是sh(的形式执行命令,因此可以使用bash参数扩展来搜索/替换字符串的部分。

接下来,它将{file}分配给自己,从而纠正r c问题。

最后,它去掉了完整路径的前导部分,直到并包括"Ubuntu",留下形式为home{user}...的路径,尽管有而不是/,但它将被正确解释。

最新更新