跟着实例学eclipse插件开发--第二篇:类注释插件(代码辅助)

本文为大家讲解org.eclipse.jdt.ui.javaCompletionProposalComputer扩展点。

在类名上,按智能提示(alt+/),可以出来“类注释”的代码辅助功能,可能我举得这个例子意义不大,大家可以通过该扩展点做很多,对自己写代码更有意义的辅助功能。

首先需要使用org.eclipse.jdt.ui.javaCompletionProposalComputer扩展点,需要在plugin.xml中添加:

<extension point="org.eclipse.jdt.ui.javaCompletionProposalComputer" 
		   id="com.msun.plug.assist.MsunJavaProposalComputer" 
		   name="MsunJavaProposalComputer"> 
	<javaCompletionProposalComputer class="com.msun.plug.assist.MsunJavaProposalComputer" 
									activate="true" needsSortingAfterFiltering="true"> 
		<partition type="__java_string"/>  
		<partition type="__java_javadoc"/>  
		<partition type="__dftl_partition_content_type"/> 
	</javaCompletionProposalComputer> 
</extension>

然后创建MsunJavaProposalComputer类,该类需要继承org.eclipse.jdt.ui.text.java.IJavaCompletionProposalComputer类:

package com.msun.plug.assist;

import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.internal.filebuffers.SynchronizableDocument;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jdt.ui.text.java.ContentAssistInvocationContext;
import org.eclipse.jdt.ui.text.java.IJavaCompletionProposalComputer;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
import org.eclipse.jface.text.contentassist.IContextInformation;
import com.msun.plug.util.AssistUtil;

/** 
 * Title: 插件开发
 * Description: java代码辅助
 * Copyright: MSun (c) 2018年7月23日
 * 
 * @author jiujiya
 * @version 1.0 
 */
@SuppressWarnings("restriction")
public class MsunJavaProposalComputer implements IJavaCompletionProposalComputer {
	
	@Override
	public List<ICompletionProposal> computeCompletionProposals(ContentAssistInvocationContext context, IProgressMonitor monitor) {
		List<ICompletionProposal> proposals = new ArrayList<ICompletionProposal>();
		
		try {
			SynchronizableDocument document = (SynchronizableDocument)context.getDocument();
			int cursorposition = context.getInvocationOffset();
			String text = document.get();
			String nowText = text.substring(0, cursorposition);
			if(nowText.lastIndexOf("\n") != -1) {
				nowText = nowText.substring(nowText.lastIndexOf("\n"), nowText.length());
			}
			// 处理类注释 整体
			String forClassText = nowText + text.substring(cursorposition, cursorposition + 1);
			if(forClassText.contains(" class ") || forClassText.contains(" interface ") 
					|| forClassText.contains(" enum ") || forClassText.contains(" @interface ")) {
				return AssistUtil.getClassAnnotation(context, cursorposition);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return proposals;
	}

	@Override
	public List<IContextInformation> computeContextInformation(ContentAssistInvocationContext arg0, IProgressMonitor arg1) {
		return null;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public String getErrorMessage() {

		return null;
	}

	/**
	 * Do nothing.
	 */
	@Override
	public void sessionEnded() {
	}

	/**
	 * Do nothing.
	 */
	@Override
	public void sessionStarted() {
	}
}

SVN的账号是存在C:/Users/{计算机名}/AppData/Roaming/Subversion/auth/svn.simple/目录下,可通过以下代码获取:

/**
 * @return 获取svn作者
 */
public static String getAuthor() {
	String userName;
	try {
		userName = (String) System.getenv().get("USERNAME");
		String dirPath = "C:/Users/" + userName + "/AppData/Roaming/Subversion/auth/svn.simple/";
		List<String> files = FileUtil.getFileList(dirPath);
		for (String file : files) {
			List<String> contents = FileUtil.readTextsFile(file, "UTF-8");
			for (String string : contents) {
				// 我公司的svn ip是192.168.0.110,需自行替换
				if ((string.contains("192.168.0.110"))) {
					return ((String) contents.get(contents.size() - 2));
				}
			}
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
	return "";
}

源码下载地址:https://download.csdn.net/download/jiujiya123/10643377

(本教程是从一个项目中抽取出来的,可能会多引用了一些jar,另外Msun是以前项目名称,可自行修改)

1、这是Eclipse MyBatis generator 1.3.7插件的核心包 2、首先到Eclipse中下载 MyBatis Generator 1.3.7插件,下载完按步骤进行安装 打开Help > Eclipse Marketplace > Search > 输入框输入 MyBatis Generator 1.3.7 搜索 > Install 3、安装完之后重启Eclipse 然后在File > New > Other > 搜索MyBatis 会看到此插件,说明已经安装成功 4、此时我们创建一个 generatorConfig.xml 填写好各种配置(详细请看generatorConfig.xml)右键 > Run,实体生成成功, 但是我们发现实体、Dao、Mapper.xml 中的注释都是英文不是我们想要的中文注释,此时需要我们把刚下载的MyBatis Generator插件核心包 替换掉Eclipse刚安装好的MyBatis Generator插件核心包 替换步骤: 1>、打开Eclipse安装目录打开plugins文件夹找到org.mybatis.generator.core_1.3.7.201807042148.jar D:\tools\eclipse\plugins\org.mybatis.generator.core_1.3.7.201807042148.jar 2>、把刚下载的org.mybatis.generator.core_1.3.7.201807042148.jar替换掉旧的org.mybatis.generator.core_1.3.7.201807042148.jar 注意:新的jar名称必须和旧的jar名称相同 5、替换完之后重启Eclipse,再次配置好generatorConfig.xml 右键 > Run,实体生成成功,次时我们打开实体发现 已经有了中文注释 实体中文注释名称、属性名称、方法名称、作者、版本号 Dao注释:基本的增删改查方法注释 注意:实体注释都是映射的数据库表中的注释,如果数据库表和字段没有注释则生成的实体也没有注释 6、此jar包也适用于MyBatis generator 1.3.6版本 替换步骤同上 (亲测绝对可以使用)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值