Eclipse30下插件开发实例全过程Word格式文档下载.docx
- 文档编号:17345987
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:14
- 大小:101.33KB
Eclipse30下插件开发实例全过程Word格式文档下载.docx
《Eclipse30下插件开发实例全过程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Eclipse30下插件开发实例全过程Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
插件主文件,看到了吧,事件的东东,基本全在这里呢,别以为偶比你看懂了多少东西,偶也那么回事,不过,这回这个文件,不用修改
Snap5.gif
15.21KB
文件被下载或查看2831次
打开这个文件,如图:
嘿嘿,小加一些语法
java代码:
packagejspedit.editors;
importorg.eclipse.jface.text.rules.*;
publicclassXMLPartitionScannerextendsRuleBasedPartitionScanner{
publicfinalstaticStringXML_DEFAULT="
__xml_default"
;
publicfinalstaticStringXML_COMMENT="
__xml_comment"
publicfinalstaticStringXML_TAG="
__xml_tag"
publicfinalstaticStringJSP_HEADER_TAG="
__jsp_header_tag"
publicfinalstaticStringJSP_COMMENT_TAG="
__jsp_comment_tag"
publicfinalstaticStringJSP_TAG="
__jsp_tag"
publicfinalstaticStringJSP_OUT_TAG="
__jsp_out_tag"
publicXMLPartitionScanner(){
ITokenxmlComment=newToken(XML_COMMENT);
ITokentag=newToken(XML_TAG);
ITokenjspHeaderTag=newToken(JSP_HEADER_TAG);
ITokenjspCommentTag=newToken(JSP_COMMENT_TAG);
ITokenjspTag=newToken(JSP_TAG);
ITokenjspOutTag=newToken(JSP_OUT_TAG);
IPredicateRule[]rules=newIPredicateRule[12];
rules[0]=newMultiLineRule("
<
!
--"
"
-->
"
xmlComment);
rules[1]=newMultiLineRule("
%--"
--%>
jspCommentTag);
rules[2]=newMultiLineRule("
%@"
%>
jspHeaderTag);
rules[3]=newMultiLineRule("
%="
jspOutTag);
rules[4]=newMultiLineRule("
%"
jspTag);
rules[5]=newMultiLineRule("
html:
>
rules[6]=newMultiLineRule("
logic:
rules[7]=newMultiLineRule("
bean:
rules[8]=newMultiLineRule("
/html:
rules[9]=newMultiLineRule("
/logic:
rules[10]=newMultiLineRule("
/bean:
rules[11]=newTagRule(tag);
setPredicateRules(rules);
}
}
Snap6.gif
5.12KB
文件被下载或查看2830次
我最烦人的就是,那个双击事件,一点子选中一行,偶喜欢,JAVA的那种,在。
号分开的,
那么,小改一下,这个文件,当然,你也可以不改的,没多大关系
importorg.eclipse.jface.text.*;
publicclassXMLDoubleClickStrategyimplementsITextDoubleClickStrategy{
protectedITextViewerfText;
publicvoiddoubleClicked(ITextViewerpart){
intpos=part.getSelectedRange().x;
if(pos<
0)
return;
fText=part;
if(!
selectComment(pos)){
selectWord(pos);
protectedbooleanselectComment(intcaretPos){
IDocumentdoc=fText.getDocument();
intstartPos,endPos;
try{
intpos=caretPos;
charc='
'
while(pos>
=0){
c=doc.getChar(pos);
if(c=='
\\'
){
pos-=2;
continue;
if(c==Character.LINE_SEPARATOR||c=='
\&
quot;
'
||c=='
.'
break;
--pos;
if(c!
='
returnfalse;
startPos=pos;
pos=caretPos;
intlength=doc.getLength();
c='
while(pos<
length){
||c=='
++pos;
endPos=pos;
intoffset=startPos+1;
intlen=endPos-offset;
fText.setSelectedRange(offset,len);
returntrue;
}catch(BadLocationExceptionx){
protectedbooleanselectWord(intcaretPos){
charc;
Character.isJavaIdentifierPart(c))
selectRange(startPos,endPos);
privatevoidselectRange(intstartPos,intstopPos){
intlength=stopPos-offset;
fText.setSelectedRange(offset,length);
看清楚了,就是加了一个‘。
’字符的东东,让他也做为一个词的分割符,
Snap7.gif
2.94KB
文件被下载或查看2829次
好,到这里,这个插件,基本完成任务了,找一个漂亮的图标文件,改一下,plugin.xml
extensions="
jsp"
icon="
icons/key.gif"
嘿嘿,可以发布了
extension
id="
dearmitejspeditor"
name="
point="
org.eclipse.ui.editors"
<
editor
name="
dearmitejspEditor"
extensions="
contributorClass="
org.eclipse.ui.texteditor.BasicTextEditorActionContributor"
class="
jspedit.editors.XMLEditor"
id="
/editor>
/extension>
这是偶的插件的文件里面的东东,你可以通过这个图形化的东东来修改这个,也可以把偶的COPY过去,看到,这图的那个小手,
放在哪里没?
?
这个功能就是发布插件的功能,上面的那个BUILD configure当然是发布的选项了,把工程的所有东东全选上,
其实不用改的,全选上,是把SRC目录也选上,支持开源!
!
Snap8.gif
5.61KB
文件被下载或查看2824次
其实,别看上面改的很少,但这确实就是插件的开发,因为我们的要求不多,而eclipse本身带的textor功能又强大,所以,我们写的东东确实不多了,下面,我们加入,一个关键字,在XMLConfiguration.java文件中,下午网好慢,不传图了,
Snap9.gif
7.18KB
文件被下载或查看2803次
为此,我们加入了,
\KeywordDetector.java
\IJavaSyntax.java
JavaKeywordScanner.java
这三个文件,改动了,XMLConfiguration.java
在些文件,加入,对KEYWORD检查,
importorg.eclipse.jface.text.IDocument;
importorg.eclipse.jface.text.ITextDoubleClickStrategy;
importorg.eclipse.jface.text.TextAttribute;
importorg.eclipse.jface.text.presentation.IPresentationReconciler;
importorg.eclipse.jface.text.presentation.PresentationReconciler;
importorg.eclipse.jface.text.rules.DefaultDamagerRepairer;
importorg.eclipse.jface.text.rules.Token;
importorg.eclipse.jface.text.source.ISourceViewer;
importorg.eclipse.jface.text.source.SourceViewerConfiguration;
importorg.eclipse.swt.SWT;
publicclassXMLConfigurationextendsSourceViewerConfiguration{
privateXMLDoubleClickStrategydoubleClickStrategy;
privateXMLTagScannertagScanner;
privateXMLScannerscanner;
privateColorManagercolorManager;
privateJavaKeywordScannerkeywordScanner;
publicXMLConfiguration(ColorManagercolorManager){
this.colorManager=colorManager;
publicString[]getConfiguredContentTypes(ISourceViewersourceViewer){
returnnewString[]{
IDocument.DEFAULT_CONTENT_TYPE,
XMLPartitionScanner.XML_COMMENT,
XMLPartitionScanner.XML_TAG};
publicITextDoubleClickStrategygetDoubleClickStrategy(
ISourceViewersourceViewer,
StringcontentType){
if(doubleClickStrategy==null)
doubleClickStrategy=newXMLDoubleClickStrategy();
returndoubleClickStrategy;
protectedJavaKeywordScannergetJavaKeywordScanner(){
if(keywordScanner=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Eclipse30 插件 开发 实例 全过程