Xfce桌面设置右键菜单:用右键打开VSCode
前言
AlmaLinux
安装VSCode
之后始终没有找到如何用右键菜单打开VSCode
,比Windows
麻烦多了。每次都需要先找到文件夹,然后用系统自带的Open In Terminal
打开终端,再输入code .
,才能够在当前文件夹中快速打开VSCode
。那么,有没有稍微快一点的办法?
前排感谢Xfce
社区的各位大佬,给出了相当丰富的解决方案。
寻找解决方案
偌大一个系统要从源码开始寻找突破口还是太恐怖了,先看看社区上有没有什么解决方案。
不过经过查询,大多数使用的都是更为美观的GNOME
桌面,而Xfce
总归是因为占用较小,美观性比较极限,使用的人还是较少。结果就是:没能找到。
于是呢,找了个梯子,然后关键词也换成英文,搜索了:xfce
、context
以及menu
,总算是找到了这么一篇,甚至时间还算比较新,是2023年初的时候,点击链接跳转到论坛页面。
于是,动手!
命令行配置
找到~/.config/Thunar/uca.xml
,用cat
命令,可以看到是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<actions>
<action>
<icon>utilities-terminal</icon>
<name>Open Terminal Here</name>
<submenu></submenu>
<unique-id>1730698877632197-1</unique-id>
<command>exo-open --working-directory %f --launch TerminalEmulator</command>
<description>Example for a custom action</description>
<range></range>
<patterns>*</patterns>
<startup-notify/>
<directories/>
</action>
</actions>
可以看到官方给出的默认文件中,有一个Open Terminal Here
的选项作为模板。我们只需要复制并按需求编写即可。例如,我利用终端打开VSCode
使用的命令(command
)为code .
,那么也就对应到这个配置文件里<command>
这一tag
。虽然说例子用的是exo-open
,但是exo-open
并不是必须的,只要能执行命令就行。
所以,我们编写一个类似的action
,如下:
<action>
<icon>/usr/share/code/resources/app/resources/linux/code.png</icon>
<name>Open Folder In VSCode</name>
<submenu></submenu>
<unique-id>1730698877632197-2</unique-id>
<command>code %f</command>
<description>Open this folder in VSCode</description>
<range></range>
<patterns>*</patterns>
<startup-notify/>
<directories/>
</action>
这段xml
的解释从上往下依次是:
目前而言,这个icon
不会显示在右键菜单上。会显示在哪,我们待会再说;
其次,name
表示最终显示在右键菜单栏上的文字;
submenu
表示是否在右键菜单中显示为子菜单,这里为空,表示不显示为子菜单;
unique-id
表示唯一标识,可以随意填写,但要保证唯一,否则会报错。当然,这里为了方便,直接将最后一位的数字1
改成了2
;
command
表示要执行的命令,这里为code %f
,表示在当前文件夹中执行code
命令,%f
表示当前文件夹的路径,所以,当右键点击文件夹时,就会在当前文件夹中打开VSCode
;
description
表示描述,是用户自定义的解释说明文字,不会显示在右键菜单上;
range
、patterns
、startup-notify
、directories
目前都用不上。
配置好之后,保存uca.xml
文件,就能立即生效。随便在一个文件夹上右键,就能够显示Open Folder In VSCode
,非常方便。
可视化配置
后来也是无意间,在中文论坛中找到了这样一篇文章:以图形方式创建 Thunar 自定义操作。看来完全是关键字没找对。
既然有命令行配置了,后面也就一定有了可视化配置的工具。我们先找到这个入口:
在这里,我们点击Configure custom actions...
,然后就可以看到如下界面:
之前没有什么作用的icon
在这里得到了体现。当然,就算得到了体现也不会出现在右键菜单中的。
至于%f
的意思以及是否有其他参数,都已经写在下面了。这里的code %f
也就对应了之前在终端中输入的code .
。
这就是Xfce
配置右键菜单的两种方式。