应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

插件清理(用Rust清理eclipse自动升级后的重复插件)

  插件清理(用Rust清理eclipse自动升级后的重复插件)
  1。简介
  eclipse自动升级版本之后,在eclipseplugins目录仍然会保留旧版本的插件,想要写一个脚本清理插件,正好最近刚学习rust编程,便用rust开发了一个eclipse插件清理工具eclean。
  本文简单介绍清理工具的开发过程,详细源代码可以在github下载并自行编译:gitclonehttps:github。comleexgoneecleaner。gitcd。ecleanercargobuildrelease
  工具支持清理eclipse升级后plugins目录下的冗余插件。
  清理eclipse插件目录并将清理插件备份:ecleanc:eclipsee:backupeclipse
  检测eclipse目录下是否含有可清理的插件:ecleantc:eclipse
  更多命令可以查阅:ecleanhelp2。创建工程
  使用cargonewelean创建工程,调整Cargo。toml内容并在src目录下创建lib。rs文件。3。命令行参数解析
  eclean是一个命令行工具,首先我们需要支持命令行参数的解析。
  rust的clap库是一套功能强大的命令行参数解析库,这里我们使用clap解析命令行参数。3。1引用clap库
  在Cargo。toml里加入clap依赖:〔dependencies〕clap2。33。33。2创建Config结构
  编辑lib。rs代码,定义Config结构存储命令配置信息,使用clap解析命令参数:usestd::{collections::HashMap,error::Error,fs,io::{self,ErrorKind},path::{Path,PathBuf},usize};usestd::fmt::Display;useclap::{App,Arg};pubstructConfig{dir:String,backup:String,verbose:bool,test:bool,force:bool,}implDisplayforConfig{fnfmt(amp;self,f:amp;mutstd::fmt::Formatterlt;39;gt;)gt;std::fmt::Result{write!(f,〔dir{},backup{},verbose{},test{},force{}〕,self。dir,self。backup,self。verbose,self。test,self。force)}}implConfig{pubfnnew()gt;Resultlt;Config,Stringgt;{letmatchesApp::new(eclean)。version(1。1。0)。author(StevenLeelt;leexgone163。comgt;)。about(Cleanuptheduplicatedpluginsineclipsepluginsdirectory。)。arg(Arg::withname(DIR)。help(Theeclipserootdirectorytobecleaned。Thepluginsdirectoryshouldbeunderthisdirectory。)。required(true)。index(1))。arg(Arg::withname(BACKUP)。help(Specifyabackupdirectorytostoretheremovedplugins。)。requiredunless(test)。index(2))。arg(Arg::withname(verbose)。short(v)。long(verbose)。help(Useverboseoutput))。arg(Arg::withname(test)。short(t)。long(test)。help(Scanandfindtheduplicatedplugins,butdonothing))。arg(Arg::withname(force)。short(f)。long(force)。help(Cleanuptheduplicatedpluginsautomatically。Neverprompt。))。getmatches();letdirmatches。valueof(DIR)。unwrap();letbackupmatches。valueof(BACKUP)。unwrapor();letverbosematches。ispresent(verbose);lettestmatches。ispresent(test);letforcematches。ispresent(force);letrootpathPath::new(dir);if!rootpath。isdir(){letmsgformat!(DIR39;{}39;doesnotexist,dir);returnErr(msg);}if!test{letbackuppathPath::new(backup);if!backuppath。isdir(){letmsgformat!(BACKUPdir39;{}39;doesnotexist,backup);returnErr(msg);}}Ok(Config{dir:String::from(dir),backup:String::from(backup),verbose,test,force,})}}
  Config结构存储了用户参数命令的配置信息:
  dir:eclipse目录(必须)
  backup:清理插件备份目录(必须,在test模式下可以忽略)
  verbose:输出详细日志
  test:仅检测eclipse插件目录,不执行清理操作
  force:不询问用户强制清理插件
  这里我们对用户的输入进行了检测,在目录不存在时提示错误;而必须参数的校验则通过clap完成即可。

人类是由古猿进化而来?第二种起源猜想,颠覆你的认知从人类对自身有清晰的认识开始,就一直没有停止对起源的探寻。在教会统治的时代,神学思想是绝对的主流,人们认为包括人类在内的世间万物都是上帝所创造的。在此期间,除了教会神创论……知鸦,休想骗我生二胎或三胎前天看到条友知鸦的一篇妙文《没有性,爱就无处容身》,一时性起,且来胡诌一通。如有冒犯,望乞明言则改之。想爱啊!可是实力不允许。自从世上有了电脑和手机,人的欲望……房屋常识办房产证可以用公积金吗如何办理很多朋友们现在对于房产方面的知识了解的偏少,不管是从购房的角度,或者是装修房子的角度,我们都需要对房产方面的一些知识进行了解,所以小编今天就在网上搜集了一些房产方面相关的知识来……房屋常识房价京津新城房产证信息怎么查询谁知道呢很多朋友们现在对于房产方面的知识了解的偏少,不管是从购房的角度,或者是装修房子的角度,我们都需要对房产方面的一些知识进行了解,所以小编今天就在网上搜集了一些房产方面相关的知识来……古人怎么知道,天上一日,地上一年?天上一日,地上一年是古往今来的一句名言,明朝的吴承恩把这句话写进了《西游记》的故事背景中,进一步促进了这句话的传播,但是古人是怎么得出天上有一天,地上有一年呢这个结论的呢?这句……作为京东健康医疗服务抓手,大半年过去,京东家医发展如何?5月19日,是世界家庭医生日。作为群众健康守门人,家庭医生推动着基层首诊,为分级诊疗实施提供着基础。但是在基层,由于面临过于庞大的人群,家庭医生负担沉重,往往无法面面俱到……房屋常识公积金退休后可以全部取出来吗很多朋友们现在对于房产方面的知识了解的偏少,不管是从购房的角度,或者是装修房子的角度,我们都需要对房产方面的一些知识进行了解,所以小编今天就在网上搜集了一些房产方面相关的知识来……独生女日记大学毕业,和好了三年的男朋友分手。理由是:我不可能去你出生的城市,你也不可能跟着我回我出生的地方,更不可能折中的选一座城市二人去打拼,结局就是早了断对彼此都好。分手也没什……房屋常识公积金不买房可以提取吗住房公积金不买房能现金取出来吗很多朋友们现在对于房产方面的知识了解的偏少,不管是从购房的角度,或者是装修房子的角度,我们都需要对房产方面的一些知识进行了解,所以小编今天就在网上搜集了一些房产方面相关的知识来……世界那么大,你凭什么去看看都说贫穷限制了人们的想象力,也正因为贫穷许多人不敢做太大的决策,担心自己扛不住然后影响到未来的生活。人属于群居动物,喜欢在固定的圈子和模式里面谋生谋爱,多数人不喜欢折腾既怕陌生……房屋常识公积金如何取出来可以全部取出来吗很多朋友们现在对于房产方面的知识了解的偏少,不管是从购房的角度,或者是装修房子的角度,我们都需要对房产方面的一些知识进行了解,所以小编今天就在网上搜集了一些房产方面相关的知识来……科学家用超级计算机,108天内计算出迄今为止,最精确的值瑞士研究人员用一台超级计算机在108天内,计算出圆周率小数点后62。8万亿位,这是迄今为止最精确的值了,但仍然没有穷尽,圆周率的意义何在呢?瑞士研究人员使用一台超级计算机……
北极又出事了?为什么北极融化的速度比南极快?北冰洋正在死去北极北极又出事了!研究表明,北极融化速度早已超过南极!据北极理事会北极监测与评估项目的一份报告显示,北极融化的速度比预期的要快得多,到20世纪30年代……爱尔兰室内用餐准则草案6人一桌,晚上11点半关门爱尔兰今日新增1,345例确诊。住院患者:105人,重症监护室:21人。目前还没有新冠肺炎确诊死亡人数的信息。HSE表示,目前的病例数字可能会随着未来数据的验……车水马龙打一生肖(关于十二生肖的成语汇总)车水马龙打一生肖(关于十二生肖的成语汇总)鼠胆小如鼠猫鼠同眠投鼠忌器首鼠两端梧鼠五技鼠窃狗盗鼠牙雀角以狸饵鼠孤雏腐鼠罗雀掘鼠城狐社鼠貊乡鼠攘目光如……幸存者偏差(有一种穷人思维,叫幸存者偏差)幸存者偏差(有一种穷人思维,叫幸存者偏差)去年年初,有个朋友总在跟我说想转行去做互联网,我感觉挺疑惑的,因为他在原来的公司做的挺好,都已经到了管理层,虽然公司不是特别高,……金钱树烂根(烂根的金钱树别急着扔)金钱树烂根(烂根的金钱树别急着扔)随着温度逐渐升高,有花友发现自己的金钱树出问题了,叶子慢慢发黄,或者靠近盆土的茎杆腐烂。金钱树叶子发黄和茎杆腐烂,基本都是根系腐烂的表现……乐不思蜀的意思(三国成语故事)乐不思蜀的意思(三国成语故事)今天的三国成语故事见于《三国志后主传》注引《汉晋春秋》,发生于蜀汉灭亡之后,主要的人物有刘禅、郤正和司马昭。原文如下:王问禅曰:颇思蜀……宇航员未动,氧气先行,未来火星宇航员要感谢毅力号火星探测器未来的火星宇航员一定会感谢我们,感谢毅力号火星探测器,因为美国宇航局毅力号火星探测器可以帮助人类在这颗火星上站稳脚跟,实现可持续探索的目标。美国宇航局华盛顿总部火星探测项目首席……海阔天空在勇敢以后(改编海阔天空又翻车)海阔天空在勇敢以后(改编《海阔天空》又翻车)随着最新一期《我们的歌2》播出,外界对这档大型音综的讨论声也逐渐多了起来,不得不说在《歌手》停播之后还能够欣赏到如此精彩的音乐……欧美女人(欧美国家的女性为何普遍比较早熟)欧美女人(欧美国家的女性为何普遍比较早熟)中国人觉得欧美国家的女性普遍早熟有两方面的原因:一方面欧美白人在生理上确实比我们更早熟,另一方面欧美国家普遍相对偏低的法定婚龄进……桃李满天下的下一句(桃李满天下的上一句是什么)桃李满天下的下一句(桃李满天下的上一句是什么)桃李满天下,绿野追唐裴。此句出自宋代陈宓的《谢朱宰赋南园二十韵》。陈宓,字师复,号复斋。陈定弟。少从朱熹学。有《论语注义问答……带十岁以上男孩进女更衣室,就是害人又害己的愚蠢行为了妈妈该不该带儿子进女性更衣室年轻母亲带十多岁的儿子进游泳馆的女更衣室去换衣服,是一个违背社会公德而害人又害己的愚蠢之举。此举明目张胆不尊重他人隐私,违背社会公德是不言而喻……子欲养而亲不在(子欲养而亲不在的感悟)子欲养而亲不在(子欲养而亲不在的感悟)树欲静而风不止,子欲养而亲不待这句话最早出自《孔子家语卷二致思第八》;另外《韩诗外传》卷九(汉朝韩婴编著的今文经学著作)里也有这句话……
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网