大香蕉综合在线观看视频-日本在线观看免费福利-欧美激情一级欧美精品性-综合激情丁香久久狠狠

好房網(wǎng)

網(wǎng)站首頁 行業(yè)快訊 > 正文

今日更新插件清理(用Rust清理eclipse自動升級后的重復插件)

2022-05-13 07:10:30 行業(yè)快訊 來源:
導讀 目前大家應該是對插件清理(用Rust清理eclipse自動升級后的重復插件)比較感興趣的,所以今天好房網(wǎng)小編CC就來為大家整理了一些關于插件清
目前大家應該是對插件清理(用Rust清理eclipse自動升級后的重復插件)比較感興趣的,所以今天好房網(wǎng)小編CC就來為大家整理了一些關于插件清理(用Rust清理eclipse自動升級后的重復插件)方面的相關知識來分享給大家,希望大家會喜歡哦。

插件清理(用Rust清理eclipse自動升級后的重復插件)用Rust清理eclipse自動升級后的重復插件

簡介

eclipse自動升級版本之后,在/eclipse/plugins目錄仍然會保留舊版本的插件,想要寫一個腳本清理插件,正好最近剛學習rust編程,便用rust開發(fā)了一個eclipse插件清理工具eclean。

本文簡單介紹清理工具的開發(fā)過程,詳細源代碼可以在github下載并自行編譯:

gitclonehttps://github.com/leexgone/ecleaner.gitcd./ecleanercargobuild--release

工具支持清理eclipse升級后plugins目錄下的冗余插件。

清理eclipse插件目錄并將清理插件備份:

ecleanc:\eclipsee:\backup\eclipse

檢測eclipse目錄下是否含有可清理的插件:

eclean-tc:\eclipse

更多命令可以查閱:

eclean--help
創(chuàng)建工程

使用cargo new elean創(chuàng)建工程,調(diào)整Cargo.toml內(nèi)容并在src目錄下創(chuàng)建lib.rs文件。

命令行參數(shù)解析

eclean是一個命令行工具,首先我們需要支持命令行參數(shù)的解析。

rust的clap庫是一套功能強大的命令行參數(shù)解析庫,這里我們使用clap解析命令行參數(shù)。

1 引用clap庫

在Cargo.toml里加入clap依賴:

[dependencies]clap="33"
2 創(chuàng)建Config結構

編輯lib.rs代碼,定義Config結構存儲命令配置信息,使用clap解析命令參數(shù):

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(&self,f:&mutstd::fmt::Formatter<'_>)->std::fmt::Result{write!(f,"[dir={},backup={},verbose={},test={},force={}]",self.dir,self.backup,self.verbose,self.test,self.force)}}implConfig{pubfnnew()->Result<Config,String>{letmatches=App::new("eclean").version("0").author("StevenLee<leexgone@16com>").about("Cleanuptheduplicatedpluginsineclipsepluginsdirectory.").arg(Arg::with_name("DIR").help("Theeclipserootdirectorytobecleaned.The`/plugins`directoryshouldbeunderthisdirectory.").required(true).index(1)).arg(Arg::with_name("BACKUP").help("Specifyabackupdirectorytostoretheremovedplugins.").required_unless("test").index(2)).arg(Arg::with_name("verbose").short("v").long("verbose").help("Useverboseoutput")).arg(Arg::with_name("test").short("t").long("test").help("Scanandfindtheduplicatedplugins,butdonothing")).arg(Arg::with_name("force").short("f").long("force").help("Cleanuptheduplicatedpluginsautomatically.Neverprompt.")).get_matches();letdir=matches.value_of("DIR").unwrap();letbackup=matches.value_of("BACKUP").unwrap_or("");letverbose=matches.is_present("verbose");lettest=matches.is_present("test");letforce=matches.is_present("force");letroot_path=Path::new(dir);if!root_path.is_dir(){letmsg=format!("DIR'{}'doesnotexist",dir);returnErr(msg);}if!test{letbackup_path=Path::new(backup);if!backup_path.is_dir(){letmsg=format!("BACKUPdir'{}'doesnotexist",backup);returnErr(msg);}}Ok(Config{dir:String::from(dir),backup:String::from(backup),verbose,test,force,})}}

Config結構存儲了用戶參數(shù)命令的配置信息:

dir:eclipse目錄(必須)

backup: 清理插件備份目錄(必須,在test模式下可以忽略)

verbose:輸出詳細日志

test:僅檢測eclipse插件目錄,不執(zhí)行清理操作

force:不詢問用戶強制清理插件

這里我們對用戶的輸入進行了檢測,在目錄不存在時提示錯誤;而必須參數(shù)的校驗則通過clap完成即可。


版權說明: 本文由用戶上傳,如有侵權請聯(lián)系刪除!


標簽:

激情五月综五月综合网| 国产传媒一区二区三区| 国产精品色热综合在线| 亚洲视频一级二级三级| 麻豆看片麻豆免费视频| 亚洲性日韩精品一区二区| 欧美日韩精品视频在线| 国产传媒中文字幕东京热| 日本最新不卡免费一区二区| 99久久精品免费精品国产| 欧美日本精品视频在线观看| 欧美日韩亚洲综合国产人| 欧洲一级片一区二区三区| 国产免费成人激情视频| 熟女高潮一区二区三区| 欧美日韩国产成人高潮| 日本高清视频在线观看不卡 | 精品亚洲香蕉久久综合网| 日韩一级欧美一级久久| 中文字幕亚洲在线一区| 日韩一区二区三区观看| 国产目拍亚洲精品区一区| 黄男女激情一区二区三区| 激情中文字幕在线观看| 女生更色还是男生更色| 国产精品白丝一区二区| 免费大片黄在线观看国语| 国产欧美一区二区三区精品视 | 激情图日韩精品中文字幕| 亚洲乱码av中文一区二区三区| 视频一区中文字幕日韩| 亚洲午夜av久久久精品| 高清不卡一卡二卡区在线| 高潮少妇高潮久久精品99| 日本高清加勒比免费在线| 欧美人妻盗摄日韩偷拍| 欧美熟妇喷浆一区二区| 欧美一级日韩中文字幕| 国产专区亚洲专区久久| 日韩精品区欧美在线一区| 粉嫩一区二区三区粉嫩视频|