0 0

【Eclipse-plugin】在Eclipse的编辑器上,右键插件Action中如何获得选中文本的颜色?30

<plugin>

   <extension
         point="org.eclipse.ui.popupMenus">
      <objectContribution
            objectClass="org.eclipse.core.resources.IResource" adaptable="true"
            id="cat.contribution1">
         <action
               label="test"
               class="cat.popup.actions.NewAction"
               menubarPath="additions"
               enablesFor="+"
               id="cat.newAction">
         </action>
      </objectContribution>
   </extension>

</plugin>

 以上是plugin.xml

 

以下是Action文件:

package cat.popup.actions;

import org.eclipse.jface.action.IAction;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.text.ITextSelection;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IActionDelegate;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbenchPart;

public class NewAction implements IObjectActionDelegate {

	private Shell shell;

	private IWorkbenchPart targetPart;

	/**
	 * Constructor for Action1.
	 */
	public NewAction() {
		super();
	}

	/**
	 * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
	 */
	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
		shell = targetPart.getSite().getShell();
		this.targetPart = targetPart;
	}

	/**
	 * @see IActionDelegate#run(IAction)
	 */
	public void run(IAction action) {
		String title = targetPart.getTitle();
		ISelection selection = targetPart.getSite().getSelectionProvider()
				.getSelection();
		if (!(selection instanceof ITextSelection)) {
			return;
		}
		
		ITextSelection textSelection = (ITextSelection) selection;
		String text = textSelection.getText();
		if (text == null || text.length() == 0) {
			return;
		}
		int endLine = textSelection.getEndLine();
		int startLine = textSelection.getStartLine();
		int offset = textSelection.getOffset();
		System.out.println(text + "(title"+title+":" + startLine + ":" + endLine + ":"
				+ offset + ")");
		//这里怎么获得选中文本的颜色?如果选中了多个段,如何循环得到每段的颜色?
		MessageDialog.openInformation(shell, "Cat", "New Action was executed.");
	}

	/**
	 * @see IActionDelegate#selectionChanged(IAction, ISelection)
	 */
	public void selectionChanged(IAction action, ISelection selection) {
	}

}

 在run方法中,如何获得选中文本的颜色?

目前还没有答案

相关推荐

    eclipse RCP开发的编辑器

    在我们的编辑器中,可以使用Text widget来创建文本编辑区域,并结合Action类来实现诸如打开、保存、查找替换等操作。 在开发过程中,Eclipse的调试和测试工具至关重要。你可以直接在IDE中运行RCP应用,实时查看编辑...

    Eclipse Html插件

    Eclipse HTML 插件是开发Web应用程序的强大工具,它提供了集成的HTML编辑器,使得在Eclipse环境中编写和调试HTML代码变得更加便捷。该插件通常与 tk.eclipse.plugin.struts 搭配使用,以实现对Struts框架的支持,...

    Eclipse RCP 插件开发指南

    扩展点通常在插件的 `plugin.xml` 文件中定义,其他插件可以通过贡献扩展点来扩展原有插件的功能。 ##### Branding & Packaging 品牌化和打包是定制 Eclipse RCP 应用程序的重要步骤。品牌化涉及更改默认外观和...

    eclipse插件开发教程指导

    1. 打包插件:在项目中右键选择"Export" -&gt; "Plug-in Development" -&gt; "Deployable plug-ins and fragments",将插件打包成jar或feature文件。 2. 分发插件:将生成的jar或zip文件分发给其他Eclipse用户,他们可以...

    eclipse插件例子

    2. **编写代码**:在Java源代码中实现插件的功能,例如,你可以创建一个新的视图(View)、编辑器(Editor)或者命令(Command)。 3. **配置元数据**:更新plugin.xml文件,定义你的插件如何与Eclipse交互,包括...

    eclipse插件开发之Common Navigator View

    【Eclipse插件开发之Common Navigator View】是关于在Eclipse插件开发中创建和定制一个基于Common Navigator View(CNV)的视图的过程。Common Navigator View是一种通用的视图结构,通常用于显示项目的资源层次结构...

    打造基于Eclipse的IDE产品

    - 编辑器:包括文本编辑器和专门的编辑器如Java编辑器、基于GEF/EMF/GMF的图形编辑器。 - 调试:可扩展的调试框架和Java调试支持。 - 搜索和比较:文本比较、资源搜索和Java搜索,并支持扩展机制。 - UI设计器:如...

    Eclipse Plugin开发(下).ppt

    Plugin.xml文件则更为关键,它定义了插件的扩展和提供的服务,包括插件所贡献的透视图(Perspective)、视图(View)、编辑器(Editor)和操作集(Action Set)等。 扩展点是Eclipse的核心概念之一,它类似于现实...

    eclipse-plug-popmenu

    在Eclipse插件中,弹出菜单通常关联到特定的视图、编辑器或者工作台项。开发者需要定义一个或多个`org.eclipse.ui.popupMenus`扩展点,将菜单项绑定到相应的上下文。例如,通过监听选中的资源或编辑器状态来决定...

    eclipse插件开发指南

    - 项目创建完成后,通过"Run As &gt; Eclipse Application"运行项目,此时会在Eclipse的工作台中看到新添加的"Sample Menu",点击其中的"Sample Action",将显示一个对话框,表明插件已成功运行。 4. **导出插件** -...

    intellij-plugin-save-actions:支持可配置的,类似于Eclipse的保存操作,包括“组织导入”,“重新格式化代码”和“重新排列代码”

    保存操作插件应用的代码样式是在“文件&gt;设置&gt;编辑器&gt;代码样式”中配置设置的代码样式。 对于某些语言,保存操作插件也可能触发自定义格式程序(Dartfmt,Prettier等)。 有关更多信息,请参见“配置。 感谢...

    tk.eclipse.plugin.struts_2.0.4

    `tk.eclipse.plugin.struts_2.0.4`是一个专门针对Eclipse3.2版本设计的Struts插件,它旨在提高开发人员在Eclipse环境中创建、调试和管理Struts应用程序的效率。 该插件的核心功能包括: 1. **代码生成器**:插件...

    Eclipse RCP Plug-in开发自学教程(Eclipse3.6)

    - **实例:文本编辑器实现**:详细步骤实现一个简单的文本编辑器。 7. **对话框** - **概述**:对话框在RCP中的使用场景。 - **预定义的对话框**:介绍Eclipse提供的内置对话框,如消息对话框、输入对话框等。 ...

    eclipse rcp 插件开发学习笔记.pdf 1-14章

    - 创建Eclipse插件项目,理解MANIFEST.MF和plugin.xml文件的作用。 - 学习如何编写激活类(Activator)和定义插件依赖。 8. **第11章 操作(Actions)**: - 创建和注册Action,将它们与菜单、工具栏或快捷键...

    RCP Plug-in开发自学教程(中国Eclipse社区首发)

    1. `plugin.xml`: 描述插件元数据,如插件ID、依赖、视图、编辑器等。 2. Java类:实现插件的具体功能,包括命令、服务、监听器等。 3. 非Java资源:如图片、XML配置文件等。 五、插件开发流程 1. 定义插件元数据...

    eclipse 3.6 rcp 开发

    - **配置管理**: 在Eclipse中通过“Run”&gt;“Run Configurations…”来管理和编辑不同的启动配置。 - **配置细节**: 可以设置主类、VM参数、环境变量等。 **2.5 可能的APPLICATIONID错误** - **常见问题**: 如果出现...

    EclipseAction深入学习笔记.pdf

    Eclipse Action 深入学习涉及了许多核心概念和机制,它是Eclipse插件开发中不可或缺的部分,用于构建用户界面的交互元素,如菜单、工具栏和上下文菜单。以下是对这些概念的详细解释: 1. **IActionDelegate**: ...

Global site tag (gtag.js) - Google Analytics