Eclipse 插件开发 3 菜单栏
Eclipse 插件开发 3 菜单栏
- 1 增加菜单
- 2 指定位置
- 3 点击事件
- 4 二级菜单 (静态)
- 5 二级菜单 (动态)
位置 | locationURI | 备注 |
---|---|---|
菜单栏 | menu:org.eclipse.ui.main.menu | 添加到传统菜单 |
工具栏 | toolbar:org.eclipse.ui.main.toolbar | 添加到工具栏 |
1 增加菜单
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin><extension point="org.eclipse.ui.menus"><menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=additions"><menu id="com.xu.learn.menus.sampleMenu" label="一级菜单"><command commandId="com.xu.learn.commands.sampleCommand" id="com.xu.learn.menus.sampleCommand"></command></menu></menuContribution></extension></plugin>
2 指定位置
XML | 字段 | 含义 |
---|---|---|
extension.menuContribution | locationURI | 菜单栏位置 menu:org.eclipse.ui.main.menu?after=additions,如Window就是window |
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin><extension point="org.eclipse.ui.menus"><menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=window"><menu id="com.xu.learn.menus.sampleMenu" label="一级菜单"><command commandId="com.xu.learn.commands.sampleCommand" id="com.xu.learn.menus.sampleCommand"></command></menu></menuContribution></extension></plugin>
3 点击事件
XML | 字段 | 含义 |
---|---|---|
extension.handler | commandId | 处理id |
menu.command | commandId | 处理id |
menu.command | class | 为处理类的路径 |
package com.xu.learn.handlers;import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.jface.dialogs.MessageDialog;public class SampleHandler extends AbstractHandler {@Overridepublic Object execute(ExecutionEvent event) throws ExecutionException {IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);MessageDialog.openInformation(window.getShell(),"Learn","点击菜单弹框");return null;}
}
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin><extension point="org.eclipse.ui.menus"><menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=additions"><menu id="com.xu.learn.menus.sampleMenu" label="一级菜单"><command commandId="com.xu.learn.commands.sampleCommand" id="com.xu.learn.menus.sampleCommand"></command></menu></menuContribution></extension><extension point="org.eclipse.ui.handlers"><handler class="com.xu.learn.handlers.SampleHandler" commandId="com.xu.learn.commands.sampleCommand"></handler></extension></plugin>
4 二级菜单 (静态)
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin><!-- 添加顶部菜单 --><extension point="org.eclipse.ui.menus"><menuContribution locationURI="menu:org.eclipse.ui.main.menu"><!-- 添加顶部 一级菜单 --><menu id="com.xu.test.menus.menu1" label="菜单1"><!-- 一级菜单 下增加 二级菜单1 --><command commandId="com.xu.test.commands.submenu1Command" icon="icons/sample.png" id="com.xu.test.menus.submenu1" label="二级菜单1"></command><!-- 一级菜单 下增加 二级菜单2 --><command commandId="com.xu.test.commands.submenu2Command" icon="icons/sample.png" id="com.xu.test.menus.submenu2" label="二级菜单2"></command><!-- 一级菜单 下增加 二级菜单3 --><command commandId="com.xu.test.commands.submenu3Command" icon="icons/sample.png" id="com.xu.test.menus.submenu3" label="二级菜单3"></command><!-- 一级菜单 下增加 二级菜单3 --><menu id="com.xu.test.menus.submenu4" label="二级菜单4"><!-- 二级级菜单 下增加 三级菜单1 --><command commandId="com.xu.test.commands.submenu4_1Command" id="com.xu.test.menus.submenu4_1" label="三级菜单1"></command></menu></menu></menuContribution></extension><!-- 菜单点击命令 --><extension point="org.eclipse.ui.commands"><!-- 二级菜单1 命令 --><command defaultHandler="com.xu.handlers.HelloHandler" id="com.xu.test.commands.submenu1Command" name="二级菜单1命令"></command><!-- 二级菜单2 命令 --><command defaultHandler="com.xu.handlers.SampleHandler" id="com.xu.test.commands.submenu2Command" name="二级菜单2命令"></command><!-- 二级菜单3 命令 --><command defaultHandler="com.xu.handlers.HelloHandler" id="com.xu.test.commands.submen3Command" name="二级菜单3命令"></command><!-- 三级菜单1 命令 --><command defaultHandler="com.xu.handlers.HelloHandler" id="com.xu.test.commands.submenu4_1Command" name="三级菜单1命令"></command></extension></plugin>
5 二级菜单 (动态)
方式 | 场景 | 实现 |
---|---|---|
继承 CompoundContributionItem + dynamic | 动态生成菜单项 | 推荐 |
反复修改 plugin.xml | 麻烦、不灵活 | plugin.xml 是静态配置 |
package com.xu.dynamic;import java.util.ArrayList;
import java.util.List;import org.eclipse.jface.action.ContributionItem;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.ui.actions.CompoundContributionItem;public class DynamicSubMenu extends CompoundContributionItem {@Overrideprotected IContributionItem[] getContributionItems() {List<IContributionItem> items = new ArrayList<>();// 示例:根据某些条件动态生成7个子项for (int i = 1; i <= 7; i++) {final int index = i;items.add(new ContributionItem() {@Overridepublic void fill(Menu menu, int indexInMenu) {MenuItem menuItem = new MenuItem(menu, org.eclipse.swt.SWT.PUSH, indexInMenu);menuItem.setText("动态菜单项 " + index);menuItem.addListener(org.eclipse.swt.SWT.Selection, e -> {System.out.println("你点击了:动态菜单项 " + index);// 你可以在这里调用命令或其他逻辑});}});}return items.toArray(new IContributionItem[0]);}
}
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin><!-- 添加顶部菜单 --><extension point="org.eclipse.ui.menus"><menuContribution locationURI="menu:org.eclipse.ui.main.menu"><!-- 添加顶部 一级菜单 --><menu id="com.xu.test.menus.menu1" label="菜单1"><!-- 一级菜单 下增加 二级菜单1 --><command commandId="com.xu.test.commands.submenu1Command" icon="icons/sample.png" id="com.xu.test.menus.submenu1" label="二级菜单1"></command><!-- 一级菜单 下增加 二级菜单2 --><command commandId="com.xu.test.commands.submenu2Command" icon="icons/sample.png" id="com.xu.test.menus.submenu2" label="二级菜单2"></command><!-- 一级菜单 下增加 二级菜单3 --><command commandId="com.xu.test.commands.submenu3Command" icon="icons/sample.png" id="com.xu.test.menus.submenu3" label="二级菜单3"></command><!-- 一级菜单 下增加 二级菜单3 --><menu id="com.xu.test.menus.submenu4" label="二级菜单4"><!-- 动态生成三级菜单 --><dynamic class="com.xu.dynamic.DynamicSubMenu" id="com.xu.test.menus.dynamicSubmenu"/></menu></menu></menuContribution></extension><!-- 菜单点击命令 --><extension point="org.eclipse.ui.commands"><!-- 二级菜单1 命令 --><command defaultHandler="com.xu.view.handlers.HelloHandler" id="com.xu.test.commands.submenu1Command" name="二级菜单1命令"></command><!-- 二级菜单2 命令 --><command defaultHandler="com.xu.view.handlers.SampleHandler" id="com.xu.test.commands.submenu2Command" name="二级菜单2命令"></command><!-- 二级菜单3 命令 --><command defaultHandler="com.xu.view.handlers.HelloHandler" id="com.xu.test.commands.submen3Command" name="二级菜单3命令"></command><!-- 三级菜单1 命令 --><command defaultHandler="com.xu.view.handlers.HelloHandler" id="com.xu.test.commands.submenu4_1Command" name="三级菜单1命令"></command></extension></plugin>
相关文章:
Eclipse 插件开发 3 菜单栏
Eclipse 插件开发 3 菜单栏 1 增加菜单2 指定位置3 点击事件4 二级菜单 (静态)5 二级菜单 (动态) 位置locationURI备注菜单栏menu:org.eclipse.ui.main.menu添加到传统菜单工具栏toolbar:org.eclipse.ui.main.toolbar添加到工具栏 1 增加菜单 <?xml version"1.0&quo…...
win11右键菜单改回win10模式
win11右键菜单非常不好用,经常需要点击最下方的“显示更多选项”,下面是win11右键菜单改回win10模式的方法。 按下 Win R 组合键,打开“运行”窗口,输入 cmd,此时不要急着按Enter,按 Ctrl Shift Enter …...
SpringBoot 常用注解通俗解释
SpringBoot 常用注解通俗解释 一、启动类相关 1. SpringBootApplication • 作用:这是SpringBoot项目的"总开关",放在主类上 • 通俗理解:相当于对电脑说:"开机!我要用SpringBoot了!…...
26 Arcgis软件常用工具有哪些
一、画图改图工具(矢量编辑) 挪位置工具(移动工具) 干哈的?选中要素(比如地块、道路)直接拖到新位置,或者用坐标X/Y偏移批量移动,适合“整体搬家”。 磁…...
OpenCV --- 图像预处理(七)
OpenCV — 图像预处理(七) 文章目录 OpenCV --- 图像预处理(七)十七,图像轮廓特征查找17.1 外接矩形17.2 最小外接矩形17.3 最小外接圆 十七,图像轮廓特征查找 图像轮廓特征查找其实就是他的外接轮廓。应用…...
【计算机网络】信息时代的数字神经系统
目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现案例1:Python TCP服务器案例2:网络带宽测试 运行结果验证 三、性能对比测试…...
Adriuno:编程语言基础
Adriuno主要的编程语言是C语言,使得使用者不需要掌握特殊的编程语言,变得更加容易上手。 一、函数 Arduino提供了许多函数,其功能是控制 Arduino开发板,进行数值计算等,包括数字I/O函数、模拟I/O函数、高级I/O函数、时…...
二叉搜索树的实现与应用场景
本章目标 1.二叉搜索树的概念 2.二叉搜索树的性能分析 3.二叉搜索树的实现 4.二叉搜索树的key/key-value的实现场景 1.二叉搜索树的概念 二叉搜索树又叫二叉排序树,它是具有以下性质的树 1.它的左子树不为空,并且左子树上的值都小于根节点 2.它的右子树不为空,并且右子树上的…...
单例模式介绍
单例模式大家都很清楚,最常见的是饿汉式与懒汉式。也有不常见的静态内部类式与枚举式以及,懒汉式的线程安全版本。 单例模式常被用于全局式的配置管理(数据库连接池,日志管理器),资源共享(线程池…...
Pycharm 代理配置
Pycharm 代理配置 文章目录 Pycharm 代理配置1. 设置系统代理1.1 作用范围1.2 使用场景1.3 设置步骤 2. 设置 python 运行/调试代理2.1 作用范围2.2 使用场景2.3 设置步骤 Pycharm 工具作为一款强大的 IDE,其代理配置在实际开发中也是必不可少的,下面介绍…...
springboot入门-repository数据访问层JPA和mybatis
在 Spring Boot 中,Repository 接口是数据访问层(DAO)的核心抽象,而 JpaRepository 和 MyBatis 的实现方式有显著不同。以下是详细解释: 1. JPA 的 Repository 接口为什么使用 interface? (1) 基于接口的动…...
代码随想录算法训练营Day31 | 56. 合并区间 738.单调递增的数字
56. 合并区间 问题描述: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 解决方式…...
【教学类-102-19】蝴蝶三色图作品1——卡纸蝴蝶(滴颜料按压对称花纹)A4横版最大号22.85CM
背景需求: 前期做了18次实验,基本实现了三色图三线的各种变化效果和16种图纸大小的批量导入 今天开始制作具体可用的学具——黑卡纸蝴蝶(滴颜料按压对撑颜色) 【教学类-102-11】蝴蝶外轮廓01——Python对黑白图片进行PS填充三种颜色+图案描边+图案填充白色+制作1图2图6图…...
Claude系列模型-20250426
文章目录 Claude 3.7 Sonnet - "Our most intelligent model yet"Claude 3.5 Haiku - "Fastest model for daily tasks"Claude 3.5 Sonnet (Oct 2024)Claude 3 Opus总结Claude 3.7 Sonnet - “Our most intelligent model yet” 特点: 这是目前Claude系列…...
ADC单通道采集实验
设置的步骤如下; #include "adc.h"ADC_HandleTypeDef adc_handle {0}; void adc_init(void) {adc_handle.Instance ADC1; //ADC的基地址adc_handle.Init.DataAlign ADC_DATAALIGN_RIGHT; //…...
启动你的RocketMQ之旅(五)-Broker详细——消息传输
前言: 👏作者简介:我是笑霸final。 📝个人主页: 笑霸final的主页2 📕系列专栏:java专栏 📧如果文章知识点有错误的地方,请指正!和大家一起学习,一…...
100个节点的部署,整合Docker、Kubernetes和Jenkins的详细设计
一、架构设计概览 组件角色: Docker:应用容器化封装,确保环境一致性。Kubernetes(K8s):自动化容器编排,管理多节点集群的调度、扩缩容和自愈。Jenkins:CI/CD流水线驱动,实现代码到生产的自动化流程。集群规模: Master节点:3个(高可用,避免单点故障)。Worker节点:…...
神经网络与计算机视觉
2016 年,随着 AlphaGo 在围棋比赛中击败李世石,“人工智能”、“神经网络”、“深度 学习”等字眼便越来越多的出现在大众眼前,智能化好像成为一种不可逆转的趋势,带给大家新奇感的同时也带来了一丝忧惧:在不远的未来,机器是否真的拥有思维和情感?《终结者》中天网大战人…...
openEuler对比CentOS的核心优势分析
openEuler对比CentOS的核心优势分析 在开源操作系统领域,openEuler与CentOS均占据重要地位,但随着CentOS维护策略的调整(如CentOS 8停止维护,转向CentOS Stream),越来越多的用户开始关注国产化替代方案。o…...
高性能电脑系统优化工具Advanced SystemCare PRO v18.3.0.240 解锁永久专业版
软件介绍 IObit Advanced SystemCare,系统清理维护与安全防护软件,大幅提升整体系统性能和安全!一键AI智能模式,全面扫描优化修复系统,拥有性能加速模式、系统优化、网络加速、启动项优化、软件更新、实时监视清理、隐…...
【C语言练习】005. 编写表达式并确定其值
【C语言练习】005. 编写表达式并确定其值 005. 编写表达式并确定其值示例 1:算术表达式计算过程:最终结果:示例 2:关系和逻辑表达式计算过程:最终结果:示例 3:复合赋值和算术表达式计算过程:最终结果:示例 4:位运算表达式计算过程:最终结果:示例 5:综合表达式计算…...
力扣面试150题--合并两个有序链表和随机链表的复制
Day 33 题目描述 思路 常规题目,比较list1和list2节点的值,取出较小值扩展链表,最后其中一个遍历完直接拼接另外一个即可(归并排序) /*** Definition for singly-linked list.* public class ListNode {* int v…...
测试用例的设计
组合原则:多个选项有效数据建议组合使用(正向功能)、单个选项无效数据组合其他选项有效数据使用(逆向功能) 一、针对登录模块设计测试用例: 1.账号:已注册手机号、已注册邮箱、为空、未注册手机号、未注册邮箱 2.密码:注册密码、为空、错误密码 3.验证码:正确、过期、错误 …...
关于TCP三次握手和四次挥手的疑点
参考文章:浅谈TCP三次握手和四次挥手 1、三次握手的作用 (1)确保双方收到对方的初始序列号:客户端发送SYN包,服务器回复SYN-ACK包,客户端再回复ACK包,确保双方都接收到对方的序列号。 …...
逆向|dy|a_bogus|1.0.1.19-fix.01
2025-04-26 请求地址:aHR0cHM6Ly93d3cuZG91eWluLmNvbS91c2VyL01TNHdMakFCQUFBQV96azV6NkoyMG1YeGt0eHBnNkkzRVRKejlyMEs3d2Y2dU9EWlhvd2ttblZWRnB0dlBPMmMwN2J0WFotcVU4V3M 个人主页的视频数据 我们需要逆向这个接口,所以现在需要分析这个请求, 分析这几个数据包可以发现: 只有…...
【软考-架构】13.5、中间件
✨资料&文章更新✨ GitHub地址:https://github.com/tyronczt/system_architect 文章目录 中间件技术典型应用架构 中间件技术 在分布式系统环境中,出于操作系统和应用程序之间的软件。 主要的中间件有五类: 数据库访问中间件࿱…...
【Redis】基础2:作为缓存
文章目录 1. 一些概念2. 主动更新策略/缓存设计模式2.1 cache-aside pattern(lazy loading)2.2 read-through pattern(针对读操作)2.3 write-through pattern2.4 write behind pattern(write back pattern)…...
豆包,Kim,deepseek对比
以下是豆包、Kimi、DeepSeek的对比与应用: 对比 - 核心技术:DeepSeek-R1完全依赖强化学习驱动,跳过监督微调阶段。Kimi k1.5采用“轻量级SFT预热RL优化”的混合策略。 - 多模态支持:Kimi k1.5支持文本与图像的多模态联合推理。De…...
L2-005 集合相似度
L2-005 集合相似度 - 团体程序设计天梯赛-练习集 给定两个整数集合,它们的相似度定义为:Nc/Nt100%。其中Nc是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。 …...
33.状态压缩动态规划
一、算法内容 1.简介 若元素数量比较小(不超过 20 20 20)时,想要存储每个元素取或不取的状态时, 可以借助位运算将状态压缩。 需要借助状态压缩过程的动态规划就是状态压缩 DP(很多地方会简称为状压 DP)…...
WSL 中 nvidia-smi: command not found的解决办法
前言 在使用基于 Linux 的 Windows 子系统(WSL)时,当我们执行某些操作后,可能会遇到输入 nvidia-smi 命令却无法被系统识别的情况。 例如,在终端中输入nvidia-smi 后,系统返回提示 -bash: nvidia-smi: co…...
Linux 进程控制
文章目录 1. 进程创建1.1 fork1.2 写时拷贝 2.进程终止2.1 退出码2.2 进程如何返回退出码 3. 进程等待3.1 wait3.1.1 阻塞等待3.1.2 退出码与退出信号 3.2 waitpid 1. 进程创建 1.1 fork 我们可以使用fork函数来创建子进程,创建子进程后,父子进程之间就…...
使用MobaXterm远程登录Ubuntu系统:SSH服务配置教程
一、MobaXterm介绍 MobaXterm官网:https://mobaxterm.mobatek.net/ MobaXterm类似于Xshell,是一个工具箱,功能比Xshell多。 直接去官网下载安装就可以,本文主要介绍开启Ubuntu的ssh服务,并通过MobaXterm实现远程登录…...
直线模组精度测试的标准是什么?
直线模组的精度测试是确保其性能和稳定性的重要环节。那么,大家知道直线模组精度测试的标准是什么吗? 1、定位精度:以最大行程为基准长度,用从基准位置开始实际移动的距离与指令值之间的最大误差的绝对值来表示。一般来说…...
RK3568 Debian调试记录
文章目录 1、环境介绍2、前言3、debian目录结构3.1、脚本调用顺序 4、编译debian4.1、构建debian编译所需的环境4.2、编译debian4.3、打包 5、系统启动6、debian适配6.1、新增板级配置单6.2、USB6.3、Wi-Fi / BT6.4、屏幕旋转6.5、触摸旋转6.6、时钟 7、测试8、总结 1、环境介绍…...
来自 Bisheng 关于微调的内容总结
来自 Bisheng 关于微调的内容总结 0. 引言1. 关于微调的总结 0. 引言 这篇文章的内容(主要是截图)是来自 Bisheng 关于微调的内容总结,内容来源于 B 站Up主七吟覃_BISHENG负责人的视频,感兴趣的可以观看原视频。 1. 关于微调的总…...
Git 工具的安装
目录 Git 工具介绍 Git 工具安装 创建本地仓库 配置本地仓库 Git 版本控制基本原理 本期开始,我们将学习如何使用 Git 工具,实现多版本控制。 Git 工具介绍 要了解 Git 工具我们得先了解版本控制器的概念。 有这样一个场景,如下图所…...
任务管理系统,Java+Vue,含源码与文档,科学规划任务节点,全程督办保障项目落地提效
前言: 在当今快节奏的工作环境中,高效的任务管理是确保项目按时完成、资源合理分配及团队协作顺畅的关键。任务管理系统作为提升工作效率的重要工具,通过数字化手段帮助用户组织、跟踪和完成各类任务。本文将详细阐述任务管理系统的五大核心…...
JavaScript基础知识合集笔记1——数据类型
文章目录 JavaScript中的数据类型基本数据类型引用类型存储区别 JavaScript中的数据类型 基本数据类型和复杂类型 基本数据类型 基础类型包含六种:Number、Bigint、String、Boolean、Undefined、null、symbol Number(特殊值NaN,意为“不是数值”) c…...
2025.04.26-美团春招笔试题-第四题
📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 04. 图像智能降维处理 问题描述 卢小姐是一家图像处理公司的算法工程师,她正在开发一种高效的图像压缩算法。该算法基于奇异值分解(SVD)技术,通过保留图像矩阵中最重要的特征,在…...
测试基础笔记第十三天
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、流程控制语句-判断语句1.判断语句2.逻辑运算符3.elif多重判断4.if的嵌套5.if与逻辑运算符结合1.and2.or3.not 设计测试用例二、流程控制语句-循环语句1.while语…...
【昇腾】PaddleOCR转om推理
文章目录 1. 使用Paddle框架推理1.1 安装1.2 推理 2. paddle 转 ONNX3. 转om4. Ais_bench 命令推理5. Ais_bench 编写推理代码 概要: PyTorch官方提供了昇腾插件包,安装后虽然可以支持PytorchOCR和PaddlePaddle的推理任务,但性能通常低于GPU。…...
【数据融合】基于拓展卡尔曼滤波实现雷达与红外的异步融合附matlab代码
一、问题分析与技术难点 1. 传感器特性对比 传感器测量维度优势局限性噪声模型雷达距离 $ r $、方位角 $ \theta $、速度 $ v $测距精度高、全天候工作角度分辨率低、易受多径干扰高斯噪声,协方差矩阵 $ R_r \text{diag}(\sigma_r^2, \sigma_\theta^2, \sigma_v^…...
第一部分:网页的骨架 —— HTML
这目录 前言1. 初识 HTML:搭建地基和框架1.1 小例子: 创建一个最简单的 HTML 页面,包含 "Hello World"。1.2 练习 2. 常用文本与内容标签:填充墙体和房间2.1 小例子: 创建一个包含个人简介(使用标…...
RTMP 协议解析 1
介绍 📖 什么是 RTMP? RTMP协议(Real-Time Messaging Protocol,实时消息传输协议)是由Adobe公司(最初由Macromedia开发)设计的一种用于实时传输音频、视频和数据流的网络协议,主要…...
c++初始化数组
1.前言 话说数组是n年前的事了,我为啥现在又提到它呢?因为很多人不会初始化数组,所以今天我来教教大家 2.初始化数组 初始化数组就是定义数组,就像这样 int a[5]{0}; 这样是a[0]到a[5]全都等于0 如果要输出这个数组…...
支持Win和Mac的批量图片压缩方法
软件介绍 如果你的图片太大,传输或上传总是卡壳,那就需要一款好用的图片压缩工具了。今天推荐的这款工具支持Windows和Mac双系统,简直是图片压缩界的"变形金刚"! 图压(图片压缩双系统版) …...
autodl(linux)环境下载git-lfs等工具及使用
一、git-lfs工具下载 #初始化git.lfs命令 curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash sudo apt-get install git-lfs git lfs install 二、 huggingface-cli工具下载及使用 Linux设置huggingface的镜像: ex…...
云原生--核心组件-容器篇-3-Docker核心之-镜像
1、定义与作用 定义: Docker镜像是一个只读的模板,包含运行应用程序所需的所有内容,包括代码、依赖库、环境变量、配置文件等。简单来说,Docker镜像是一个轻量级、独立、可执行的软件包,它包含了运行某个软件所需的所有…...
Dify与n8n深度对比:AI应用开发与自动化工作流的双轨选择
Dify与n8n深度对比:AI应用开发与自动化工作流的双轨选择 在数字化转型加速的2025年,Dify和n8n作为两大主流工具,分别代表了AI应用开发与自动化工作流领域的顶尖解决方案。本文将从核心定位、功能特性、使用场景等维度展开对比,为…...