国产一区二区精品久久_蜜桃狠狠狠狠狠狠狠狠狠_午夜视频精品_激情都市一区二区

當(dāng)前位置:首頁(yè) > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計(jì)軟件教程 > eclipse小技巧

eclipse小技巧
2010-01-14 23:01:29  作者:  來(lái)源:
    最近寫(xiě)CODE的時(shí)候,遇到個(gè)問(wèn)題:得到一個(gè)JAVA文件所在的插件路徑.問(wèn)題倒是很快解決了.可氣人的是這個(gè)問(wèn)題好久之前我已經(jīng)問(wèn)過(guò)一次了.沒(méi)想到又忘了.郁悶!!!于是決定寫(xiě)篇文章,把ECLIPSE開(kāi)發(fā)中的小方法集中起來(lái),方便自己查詢(xún),也可以給剛?cè)腴T(mén)的程序員個(gè)提示.對(duì)于同時(shí)也希望誰(shuí)有小的技巧能共享一下.我也算是拋磚引玉吧.
1.得到某PLUGIN的路徑:
  Platform.getBundle("mypluginid").getLocation().
  eclipse采用osgi后好像還可以:
  Activator.getDefault().getBundle().getLocation().(前提是這個(gè)插件有Activator這個(gè)類(lèi).這個(gè)類(lèi)繼承了ECLIPSE的Plugin類(lèi))
  eclipse采用osgi前好像好像是:
  MyPlugin.getDefault().getBundle().getLocation().(前提是這個(gè)插件有MyPlugin這個(gè)類(lèi).這個(gè)類(lèi)繼承了ECLIPSE的Plugin類(lèi))
2.得到工作區(qū)路徑:
  Platform.getocation();或
  ResourcesPlugin.getWorkspace();好像
  Platform.getInstanceLocation()也可行
3.得到ECLIPSE安裝路徑
  Platform.getInstallLocation();
4 ECLIPSE相關(guān)參數(shù)(我用過(guò)的).
  在命令行或ECLIPSE.INI文件中可以設(shè)置一些ECLIPSE啟動(dòng)時(shí)用的參數(shù):
  -data myworkspace可以指定自己的工作區(qū)
  -vm javapath 可以指定用哪個(gè)JAVA VM
  -nl locale 定義語(yǔ)言環(huán)境
  設(shè)置VM參數(shù)時(shí),要放在-vmargs之后:
  -vmargs -Djava.util.logging.config.file=mylog.properties 設(shè)置日志文件位置.調(diào)試狀態(tài)下可以在CONSOLE視圖中看到日志.
  -vmargs -Xms 設(shè)置JVM初始化堆的內(nèi)存大小
  -vmargs -Xmx 設(shè)置JVM最大的堆內(nèi)存大小 
  -vmargs -Xss 設(shè)置JVM棧內(nèi)存大小
  -vmargs -XX:MaxPermSize 設(shè)置Permanent Generation使用的最大內(nèi)存.
  -vmargs -XX:PermSize 設(shè)置程序Permanent Generation內(nèi)存大小.
  一兩句話(huà)說(shuō)不清上面兩個(gè)參數(shù)的概念.關(guān)于PERM概念可以參考http://www.totodotnet.net/category/technology/java-tech/
  更多的參數(shù)可以參考http://www.cnblogs.com/sunsonbaby/archive/2005/02/02/101112.html

  還要干活,先寫(xiě)這點(diǎn),以后碰到了再增加.


  加一個(gè)!!
5 用代碼來(lái)關(guān)閉DIALOG。
開(kāi)發(fā)ECLIPSE插件,經(jīng)常會(huì)寫(xiě)JUNIT測(cè)試,但當(dāng)測(cè)試界面元素時(shí),有一個(gè)大問(wèn)題:就是用代碼打開(kāi)一個(gè)界面元素,比如說(shuō)    DIALOG之后,因?yàn)檫@時(shí)候系統(tǒng)運(yùn)行的線(xiàn)程變成了這個(gè)DIALOG,這樣我們就無(wú)法在程序中用代碼來(lái)關(guān)閉這個(gè)DIALOG.
  解決方法就是:
 dialog.open();
 在DIALOG開(kāi)發(fā)的代碼之后加入這樣一個(gè)方法:
 PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()
                .getDisplay().asyncExec(new Runnable() {
                    public void run() {
                        Button cancel = null;
                        Shell shell = Display.getCurrent().getActiveShell();
                        cancel = shell.getDefaultButton();
                        if (cancel != null && !cancel.isDisposed()) {
                            cancel.notifyListeners(SWT.Selection, new Event());
                        }
                    }
                });

6 創(chuàng)建臨時(shí)文件
在開(kāi)發(fā)插件的時(shí)候,有時(shí)候需要?jiǎng)?chuàng)建臨時(shí)文件.這個(gè)臨時(shí)文件會(huì)被創(chuàng)建到系統(tǒng)的臨時(shí)文件目錄.
給一個(gè)輸入流:InputStream content,則可以這么創(chuàng)建臨時(shí)文件:
        File tempFile = File.createTempFile("tempFile", ".txt");
        第一個(gè)參數(shù)是文件名,第二個(gè)參數(shù)是后綴名
        OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(tempFile));
        InputStreamReader reader = new InputStreamReader(content);
        for (int currentchar = reader.read(); currentchar != -1; currentchar = reader.read()) {
            writer.write(currentchar);
        }
        writer.flush();
        writer.close();
        reader.close();
創(chuàng)建臨時(shí)目錄,可以這么做:
getTempDir() {
        File tempdir = new File(System.getProperty("java.io.tmpdir"));
        File tmpdir = new File(tempdir , "tmp" + System.currentTimeMillis());
        if (tmpdir.exists()) {
            LOG.fine("This dir is exist");           
        }
        tmpdir.mkdirs();
        return tmpdir;
    }

安徽新華電腦學(xué)校專(zhuān)業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線(xiàn)咨詢(xún)

抢占助学金名额