好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Eclipse插件开发实现控制台输出信息的方法

进行eclipse插件开发时,有时需要为插件开发自己的控制台,以便在必要输出提示信息,本文介绍进行eclipse插件开发时,如何实现自己的控制台。

1. 扩展控制台扩展点。

对 org.eclipse.ui.console.consolefactories 扩展点进行扩展,并填写必要的信息,比如label,class等。如下图。

2. 实现consolefactory类。需要加给工程加入org.eclipse.ui.console_3.4.0.v20090513.jar。版本可以不同。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

package project;

import org.eclipse.ui.console.consoleplugin;

import org.eclipse.ui.console.iconsole;

import org.eclipse.ui.console.iconsolefactory;

import org.eclipse.ui.console.iconsolemanager;

import org.eclipse.ui.console.messageconsole;

public class consolefactory implements iconsolefactory {

  private static messageconsole console = new messageconsole( "" , null );

  static boolean exists = false ;

  /**

  * 描述:打开控制台

  **/

  public void openconsole() {

  showconsole();

  }

  /**

  * 描述:显示控制台

  **/

  private static void showconsole() {

  if (console != null ) {

   // 得到默认控制台管理器

   iconsolemanager manager = consoleplugin.getdefault()

    .getconsolemanager();

   // 得到所有的控制台实例

   iconsole[] existing = manager.getconsoles();

   exists = false ;

   // 新创建的messageconsole实例不存在就加入到控制台管理器,并显示出来

   for ( int i = 0 ; i < existing.length; i++) {

   if (console == existing[i])

    exists = true ;

   }

   if (!exists) {

   manager.addconsoles( new iconsole[] { console });

   }

   // console.activate();

  }

  }

  /**

  * 描述:关闭控制台

  **/

  public static void closeconsole() {

  iconsolemanager manager = consoleplugin.getdefault()

   .getconsolemanager();

  if (console != null ) {

   manager.removeconsoles( new iconsole[] { console });

  }

  }

  /**

  * 获取控制台

  * @return

  **/

  public static messageconsole getconsole() {

  showconsole();

  return console;

  }

}

3.实现向控制台输出信息。

?

1

2

3

4

5

6

7

8

9

10

11

12

/**

* 向控制台打印一条信息,并激活控制台。

* @param message

* @param activate

*      是否激活控制台

**/

public static void printtoconsole(string message, boolean activate) {

messageconsolestream printer = consolefactory.getconsole()

  .newmessagestream();

printer.setactivateonwrite(activate);

printer.println( "提示:" + message );

}

当需要向控制台输出信息时,只需要调用 printtoconsole() 函数即可。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

原文链接:https://blog.csdn.net/li_canhui/article/details/6967901

查看更多关于Eclipse插件开发实现控制台输出信息的方法的详细内容...

  阅读:15次