前言

AlmaLinux安装VSCode之后始终没有找到如何用右键菜单打开VSCode,比Windows麻烦多了。每次都需要先找到文件夹,然后用系统自带的Open In Terminal打开终端,再输入code .,才能够在当前文件夹中快速打开VSCode。那么,有没有稍微快一点的办法?

前排感谢Xfce社区的各位大佬,给出了相当丰富的解决方案。

寻找解决方案

偌大一个系统要从源码开始寻找突破口还是太恐怖了,先看看社区上有没有什么解决方案。

不过经过查询,大多数使用的都是更为美观的GNOME桌面,而Xfce总归是因为占用较小,美观性比较极限,使用的人还是较少。结果就是:没能找到。

于是呢,找了个梯子,然后关键词也换成英文,搜索了:xfcecontext以及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表示描述,是用户自定义的解释说明文字,不会显示在右键菜单上;
rangepatternsstartup-notifydirectories目前都用不上。

配置好之后,保存uca.xml文件,就能立即生效。随便在一个文件夹上右键,就能够显示Open Folder In VSCode,非常方便。

可视化配置

后来也是无意间,在中文论坛中找到了这样一篇文章:以图形方式创建 Thunar 自定义操作。看来完全是关键字没找对。

既然有命令行配置了,后面也就一定有了可视化配置的工具。我们先找到这个入口:

Xfce桌面设置右键菜单:用右键打开VSCode-LMLPHP

在这里,我们点击Configure custom actions...,然后就可以看到如下界面:

Xfce桌面设置右键菜单:用右键打开VSCode-LMLPHP

之前没有什么作用的icon在这里得到了体现。当然,就算得到了体现也不会出现在右键菜单中的。

至于%f的意思以及是否有其他参数,都已经写在下面了。这里的code %f也就对应了之前在终端中输入的code .

这就是Xfce配置右键菜单的两种方式。

11-09 16:43