当前位置: 首页 > news >正文

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

前言

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 自定义操作。看来完全是关键字没找对。

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

可视化配置入口

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

配置界面

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

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

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

相关文章:

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

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

【NLP自然语言处理】深入探索Self-Attention:自注意力机制详解

目录 &#x1f354; Self-attention的特点 &#x1f354; Self-attention中的归一化概述 &#x1f354; softmax的梯度变化 3.1 softmax函数的输入分布是如何影响输出的 3.2 softmax函数在反向传播的过程中是如何梯度求导的 3.3 softmax函数出现梯度消失现象的原因 &…...

Pytorch训练时报nan

0. 引言 Pytorch训练时在batchN时loss为nan。经过断点检查发现在batchN-1时&#xff0c;网络参数非nan&#xff0c;输出非nan&#xff0c;但梯度为nan&#xff0c;导致网络参数已经全部被更新为nan&#xff0c;遇到这种情况应该如何排查&#xff0c;如何避免&#xff1f;由于导…...

JavaScript定时器详解:setTimeout与setInterval的使用与注意事项

在JavaScript中&#xff0c;定时器用于在指定的时间间隔后或周期性地执行代码。JavaScript 提供了两种主要的定时器函数&#xff1a;setTimeout 和 setInterval。以下是它们的详细解释和实现方式&#xff1a; 1. setTimeout setTimeout 函数用于在指定的毫秒数后执行一次函数…...

CSS——选择器、PxCook软件、盒子模型

选择器 结构伪类选择器 作用&#xff1a;根据元素的结构关系查找元素。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0&quo…...

Mysql 大表limit查询优化原理实战

文章目录 1 大表查询无条件优化&原理(入门)2 大表查询带 条件 优化&原理(进阶)2.1 where 后面的查询字段只有一个时&#xff0c;要求该字段是索引字段2.2 where 后面的查询字段有多个时&#xff0c;尽量让查询字段为索引字段且字段值基数大 3 大表查询带 排序 优化&…...

在vscode中开发运行uni-app项目

确保电脑已经安装配置好了node、vue等相关环境依赖 进行项目的创建 vue create -p dcloudio/uni-preset-vue 项目名 vue create -p dcloudio/uni-preset-vue uni-app 选择模版 这里选择【默认模版】 项目创建成功后在vscode中打开 第一次打开项目 pages.json 文件会报错&a…...

【JavaEE初阶 — 多线程】Thread的常见构造方法&属性

目录 Thread类的属性 1.Thread 的常见构造方法 2.Thread 的几个常见属性 2.1 前台线程与后台线程 2.2 setDaemon() 2.3 isAlive() Thread类的属性 Thread 类是JVM 用来管理线程的一个类&#xff0c;换句话说&#xff0c;每个线程都有一个唯一的Thread 对象与之关联&am…...

ctfshow(316)--XSS漏洞--反射性XSS

Web316 进入界面&#xff1a; 审计 显示是关于反射性XSS的题目。 思路 首先想到利用XSS平台解题&#xff0c;看其他师傅的wp提示flag是在cookie中。 当前页面的cookie是flagyou%20are%20not%20admin%20no%20flag。 但是这里我使用XSS平台&#xff0c;显示的cookie还是这样…...

ubuntu22.04安装conda

在 Ubuntu 22.04 上安装 Conda 可以通过以下步骤进行&#xff1a; 下载 Miniconda&#xff08;轻量级版本的 Conda&#xff09;&#xff1a; 打开终端并运行以下命令以下载 Miniconda 安装脚本&#xff1a; wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-…...

D58【python 接口自动化学习】- python基础之异常

day58 异常捕获 学习日期&#xff1a;20241104 学习目标&#xff1a;异常 -- 74 自定义异常捕获&#xff1a;如何定义业务异常&#xff1f; 学习笔记&#xff1a; 自定义异常的用途 自定义异常的方法 # 抛出一个异常 # raise ValueError(value is error) # ValueError: val…...

Java项目实战II基于Spring Boot的便利店信息管理系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在快节奏的…...

Java-日期计算工具类DateCalculator

DateCalculator是用于日期计算的工具类。这个工具类将包括日期的加减、比较、周期计算、日期 范围生成等功能。 import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.Period; import java.time.temporal.ChronoUnit;…...

单片机串口接收状态机STM32

单片机串口接收状态机stm32 前言 项目的芯片stm32转国产&#xff0c;国产芯片的串口DMA接收功能测试不通过&#xff0c;所以要由原本很容易配置的串口空闲中断触发DMA接收数据的方式转为串口逐字节接收的状态机接收数据 两种方式各有优劣&#xff0c;不过我的芯片已经主频跑…...

ipv6的 fc00(FC00::/7) 和 fec0(FEC0::/10)

ipv6的 fc00(FC00::/7)&#xff08;唯一本地地址&#xff09; 替代了 fec0(FEC0::/10) &#xff08;站点本地地址&#xff0c;已弃用&#xff09; ipv6的 fc00(FC00::/7) 替代了 fec0(FEC0::/10) , 在IPv6地址中&#xff0c;FC00::/7&#xff08;通常简写为FC00&#xff09;和…...

Chat GPT英文学术写作指令

目录 Chat GPT英文学术写作指令 Chat GPT英文学术写作指令 1."为我捉供一些建议和技巧,以提高我的学术写作质最和风格" (Provide me with some suggestions andtips to improve the quality andstyleofmyacademic writing.) 2."帮我提写一个清晰而有逻辑的…...

超详细Pycharm安装汉化教程,Python环境配置和使用指南,Python零基础入门看这个就够了!

包含编程资料、学习路线图、源代码、软件安装包等&#xff01;【[点击这里]】&#xff01; PyCharm 是由 JetBrains 打造的一款 Python IDE &#xff08;集成开发环境&#xff0c;Integrated Development Environment&#xff09;&#xff0c;带有一整套可以帮助用户在使用 Py…...

react-native:解决使用webView后部分场景在安卓10崩溃闪退问题

app闪退问题原因&#xff1a; 安卓7以上版本&#xff08;7和7以下版本不会出现闪退&#xff09;&#xff1a;在屏幕不可视区域加载webView或者webView不在可视区域内切换页面时app崩溃闪退&#xff08;在屏幕可视区域加载webView或者webView在可视区域内切换页面不会闪退&…...

大数据工具 flume 的安装配置与使用 (详细版)

参考网址&#xff1a;Flume 1.9用户手册中文版 — 可能是目前翻译最完整的版本了 1&#xff0c;上传安装包 安装包链接&#xff1a;文件下载-奶牛快传 Download &#xff5c;CowTransfer 口令&#xff1a;x8bhcg 1&#xff0c;切换盘符到安装目录 cd /opt/moudles 解压文件…...

智慧城市智慧城市项目方案-大数据平台建设技术方案(原件Word)

第1章 总体说明 1.1 建设背景 1.2 建设目标 1.3 项目建设主要内容 1.4 设计原则 第2章 对项目的理解 2.1 现状分析 2.2 业务需求分析 2.3 功能需求分析 第3章 大数据平台建设方案 3.1 大数据平台总体设计 3.2 大数据平台功能设计 3.3 平台应用 第4章 政策标准保障…...

C语言比较两个字符串是否相同

在不使用string.h中的内置函数的情况下 #include <stdio.h> #include <string.h> void main(){char arr1[]"hello world";char arr2[]"hello world";int i,a0;if(strlen(arr1)!strlen(arr2)){print("不相等");return 0;}for(i0;arr…...

丹摩征文活动|FLUX.1图像生成模型:AI工程师的创新实践

文章目录 一、对"FLUX.1"系列模型版本分析 二、AI工程师与FLUX.1系列模型 三、ComfyUI在线部署四、FLUX.1在线部署五、添加工作流呈现效果图展示六、总结 黑森林实验室&#xff08;Black Forest Labs&#xff09;推出的FLUX.1图像生成模型&#xff0c;凭借120亿参数的…...

ZABBIX API获取监控服务器OS层信息

Zabbix 是一款强大的开源监控解决方案,能够通过其 API 接口自动化管理和获取监控数据。在这篇文章中,详细讲解如何通过 Zabbix API 批量获取服务器的系统名称、IP 地址及操作系统版本信息,并将数据保存到 CSV 文件中。本文适合对 Python 编程和 Zabbix 监控系统有一定基础的…...

SpringBoot基础系列学习(五):JdbcTemplate 访问数据库

文章目录 一丶介绍二丶引入依赖三丶配置配置文件四丶创建表五丶java代码 一丶介绍 Spring Boot作为Spring的集大成者&#xff0c;自然会将JdbcTemplate集成进去。Spring Boot针对JDBC的使用提供了对应的Starter包&#xff1a;spring-boot-starter-jdbc&#xff0c;它其实就是在…...

JavaEE-多线程初阶(3)

目录 1.线程的状态 1.1 NEW、RUNNABLE、TERMINATED 1.2 TIMED_WAITING 1.3 WAITING 1.4 BLOCKED 2.多线程带来的风险-线程安全&#xff08;重点&#xff09; 2.1 观察线程不安全的现象 2.2 分析产生该现象的原因 2.3 产生线程安全问题的原因 2.3.1 抢占式执行&#x…...

从入门到精通:如何在Vue项目中有效运用el-image-viewer

Element UI之el-image-viewer组件详解 引言 在现代 Web 应用中,高质量的用户体验是不可或缺的一环。Element UI 作为一款基于Vue.js 2.0 的桌面端组件库,以其丰富的组件集、良好的文档和支持赢得了广大开发者的好评。本文将深入探讨el-image-viewer组件,这是一个用于在网页…...

uniapp组件实现省市区三级联动选择

1.导入插件 先将uni-data-picker组件导入我们的HBuilder项目中&#xff0c;在DCloud插件市场搜索uni-data-picker 点击下载插件并导入到我们的项目中 2.组件调用 curLocation &#xff1a;获取到的当前位置&#xff08;省市区&#xff09; <uni-data-picker v-slot:defa…...

【C++】异常处理机制(对运行时错误的处理)

&#x1f308; 个人主页&#xff1a;谁在夜里看海. &#x1f525; 个人专栏&#xff1a;《C系列》《Linux系列》 ⛰️ 天高地阔&#xff0c;欲往观之。 目录 引言 1.编译器可以处理的错误 2.编译器不能处理的错误 3.传统的错误处理机制 assert终止程序 返回错误码 一、…...

C++ boost steady_timer使用介绍

文章目录 1. 引入必要的头文件2. 基本用法2.1 同步定时器解释:2.2 异步定时器解释:3. 异步定时器与回调函数4. 设置定时器的超时时间4.1 使用秒、毫秒、微秒4.2 修改定时器的到期时间5. 多次使用定时器6. 循环执行任务7. 错误处理总结:C++ Boost 库提供了 boost::asio::stea…...

JVM 由多个模块组成,每个模块负责特定的功能

Java虚拟机&#xff08;JVM, Java Virtual Machine&#xff09;是一个抽象的计算机&#xff0c;它提供了一个运行环境&#xff0c;使得Java字节码可以在不同的平台上执行。JVM 由多个模块组成&#xff0c;每个模块负责特定的功能。以下是 JVM 的主要模块及其功能&#xff1a; …...