如何新建自定义文件,急求!!!
我在为一个新的框架设计eclipse开发支持!
工程创建,代码辅助完成和提示都OK了,但是还缺一个在选定目录右键的New菜单增加一项,用来新建自定义文件类型,我希望开发人员从一个模版开始,而不是复制黏贴或者考超强的记忆力!
我尝试过google,baidu了,但是不知道怎么表达这个需求,搜出来的都不是我要的
求赐教!
[最优解释]
向导是用wizard扩展点,这个据你所说做过工程创建应该没问题了;
如果还想要向导自动出现在右键菜单中,有两种方法:
1. 用org.eclipse.ui.navigator.navigatorContent扩展点的commonwizard,这个只能向Project Explorer 这个视图中添加
JDT就实现了这个扩展点想Eclipse本身的Project Explorer中添加了向导的右键菜单
具体的可以搜CNF,或Eclipse的本身的帮助:
Platform Plug-in Developer Guide > Programmer's Guide > Common Navigator Framework
Configuring the Common Navigator
2. 利用org.eclipse.ui.perspectiveExtensions这个扩展点的newWizardShortcut,可以在某个Perspective激活的时候把某个向导直接添加到右键菜单
PDE插件就是利用这个扩展点,在plugin development 这个perspective激活的时候把新建插件工程等向导添加到java的 package explorer视图的右键菜单中的.
[其他解释]
无法表述的需求,到底是谁的需求,有何实际意义?真有此需求?
[其他解释]
从你说的内容来看,Eclipse都支持,不知道你到底想干啥。。。
[其他解释]
新建自定义文件类型和复制粘贴有何关联?
[其他解释]
LZ你要求的只能自己开发插件了。
[其他解释]
<extension
point="org.eclipse.ui.navigator.navigatorContent">
......
<commonWizard
menuGroupId="org.eclipse.jdt.ui.java"
type="new"
wizardId="org.eclipse.jdt.ui.wizards.NewPackageCreationWizard">
<enablement>
<or>
<instanceof value="org.eclipse.jdt.core.IPackageFragment"/>
<instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
<instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
<adapt type="org.eclipse.core.resources.IProject">
<test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
</adapt>
</or>
</enablement>
</commonWizard>
<commonWizard
menuGroupId="org.eclipse.jdt.ui.java"
type="new"
wizardId="org.eclipse.jdt.ui.wizards.NewClassCreationWizard">
<enablement>
<or>
<instanceof value="org.eclipse.jdt.core.IPackageFragment"/>
<instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
<instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
<adapt type="org.eclipse.core.resources.IProject">
<test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
</adapt>
</or>
</enablement>
</commonWizard>
<enablement>
<or>
<instanceof value="org.eclipse.jdt.core.IPackageFragment"/>
<instanceof value="org.eclipse.jdt.core.IPackageFragmentRoot"/>
<instanceof value="org.eclipse.jdt.core.ICompilationUnit"/>
<adapt type="org.eclipse.core.resources.IProject">
<test property="org.eclipse.core.resources.projectNature" value="org.eclipse.jdt.core.javanature"/>
</adapt>
</or>
</enablement>