插件源代碼下載 (導(dǎo)入插件在workspace中,右鍵export->Plug-in Development->Deployable plug-ins and fragments,然后生成插件binar文件)
二進(jìn)制包下載 (因?yàn)閎logjava不許上傳jar文件,請(qǐng)下載后將zip后綴改為jar后綴然后拷貝到eclipse/plugins目錄)
一般在使用Eclipse過程中會(huì)有兩種跟文件編碼(charset)有關(guān)的情況讓我們不愉快。
1 導(dǎo)入一個(gè)項(xiàng)目。
假設(shè)你的同事做好了一個(gè)項(xiàng)目,為了更好的支持國際化,里面的jsp頁面都采用UTF-8,然后發(fā)給你,你導(dǎo)入到Eclipse的workspace中,一般情況下,在Eclipse中,這些jsp都變成了GBK編碼,你雙擊打開,一堆亂碼。假設(shè)你知道原因,稍微如下設(shè)置一下可以解決問題:

(圖1 設(shè)置文件編碼)
但是,這個(gè)項(xiàng)目可能包含1000個(gè)jsp文件,且你還可能反反復(fù)復(fù)碰到這個(gè)問題,真是一個(gè)體力活。
2 改變一個(gè)項(xiàng)目文件的編碼
這種情況發(fā)生比較少,但發(fā)生了就是一個(gè)大難題。比如公司有兩個(gè)團(tuán)隊(duì),一個(gè)開發(fā)的項(xiàng)目jsp采用UTF-8編碼,另外一個(gè)采用GBK編碼。一段時(shí)間之后,需要整合兩個(gè)項(xiàng)目,jsp頁面只能采用一種編碼,UTF-8/GBK或其它。有經(jīng)驗(yàn)的人知道這是一個(gè)拷貝/設(shè)置編碼/粘貼的過程:
2.1 將某個(gè)jsp的內(nèi)容全部拷貝下來。
2.2 如圖1所示將編碼設(shè)置為統(tǒng)一編碼如UTF-8。
2.3 把設(shè)置過編碼的jsp文件清空,然后粘貼。
好像解決問題很完美,但是Eclipse沒有宏,如果文件很多,比如2000個(gè),將是一個(gè)恐怖的任務(wù)。
因?yàn)檫@兩個(gè)問題老是反復(fù)的困擾著我的同事,相信也困擾了不少Java開發(fā)者,Eclipse轉(zhuǎn)碼插件很好很方便的解決了這個(gè)問題,它基于Eclipse 3.3開發(fā),所以編譯環(huán)境最好采用Eclipse 3.3。
下面是使用步驟
step1. 將插件com.lifesting.tool.encoding_1.0.0.jar拷貝到eclipse/plugins目錄下,重啟Eclipse。
step2. 選擇某個(gè)項(xiàng)目,右鍵選擇properties,然后點(diǎn)擊Convert Setting進(jìn)行轉(zhuǎn)碼規(guī)則設(shè)置,如下圖:

(圖2 項(xiàng)目轉(zhuǎn)碼規(guī)則設(shè)置)
這個(gè)表格有四列,分別是
文件后綴,
文件目前編碼,
轉(zhuǎn)換后的編碼,
是否轉(zhuǎn)換文件內(nèi)容,如果轉(zhuǎn)換文件內(nèi)容,那么對(duì)應(yīng)的是前面所說的第二種情況,不轉(zhuǎn)換文件內(nèi)容對(duì)應(yīng)的是第一種情況。比如圖2的轉(zhuǎn)碼規(guī)則就是
對(duì)項(xiàng)目的jsp文件,不管原來是什么編碼,統(tǒng)一轉(zhuǎn)為UTF-8編碼,并且同時(shí)轉(zhuǎn)換文件內(nèi)容。可以點(diǎn)擊右邊的Add /Remove按鈕來增加/刪除規(guī)則。最后點(diǎn)擊Apply來保存設(shè)置。
step3. 轉(zhuǎn)碼
在設(shè)置了轉(zhuǎn)碼規(guī)的項(xiàng)目上,右鍵選擇項(xiàng)目,某幾個(gè)文件夾或某幾個(gè)文件(當(dāng)然一個(gè)也可以),然后點(diǎn)擊Lifesting Tools->Set Encoding。插件將完成轉(zhuǎn)碼工作。如果我們選擇的是項(xiàng)目,將轉(zhuǎn)換整個(gè)項(xiàng)目;如果選擇的是文件夾,轉(zhuǎn)換文件夾下所有滿足規(guī)則的文件;如果選擇的是文件,只轉(zhuǎn)換文件。

(圖3 轉(zhuǎn)碼)
除了這方式外,我們還可以利用Eclipse的文件搜索功能,將搜到的文件進(jìn)行轉(zhuǎn)碼,如下圖:

(圖4 在search view里轉(zhuǎn)碼)
如上圖所示,我們搜到了整個(gè)workspace的jsp文件,然后點(diǎn)擊綠色E小圖標(biāo),插件將會(huì)把所有滿足結(jié)果的文件轉(zhuǎn)碼,每個(gè)文件的轉(zhuǎn)換規(guī)則依賴它所屬項(xiàng)目的轉(zhuǎn)碼規(guī)則設(shè)置。