Контентная помощь с javaCompletionProposalComputer для Eclipse JSDT не дает никаких предложений
Содержание помогает с org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer
для Eclipse JSDT не дает никаких предложений.
В Preferences -> JavaScript -> Editor -> Content Assist -> Advanced
"Предложения по Nodeclipse" видны и выбраны.
в соответствии с рекомендациями Bananaweizen для Content Assistant для редактора на основе Eclipse JSDT
в plugin.xml
<extension point="org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer"
id="nodeclispe_textual_proposals"
name="Nodeclipse Text Proposals">
<proposalCategory icon="icons/npm/npm.gif"/>
</extension>
<extension point="org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer"
id="NodeclipseProposals"
name="Nodeclipse Proposals">
<javaCompletionProposalComputer
class="org.nodeclipse.ui.contentassist.JSDTProposalComputer"
categoryId="org.eclipse.ui.texteditor.textual_proposals">
<partition type="__java_javadoc"/>
</javaCompletionProposalComputer>
</extension>
JSDTProposalComputer
это просто обертка для NodeContentAssistant
(который реализует IContentAssistProcessor
), это прекрасно работает для редактора на основе TextEditor.
public class JSDTProposalComputer implements IJavaCompletionProposalComputer {
IContentAssistProcessor assistant = new NodeContentAssistant();
@Override
public List<ICompletionProposal> computeCompletionProposals(ContentAssistInvocationContext context, IProgressMonitor monitor) {
return Arrays.asList(assistant.computeCompletionProposals(context.getViewer(), context.getInvocationOffset()));
}
@Override
public List<IContextInformation> computeContextInformation(ContentAssistInvocationContext context, IProgressMonitor monitor) {
return Arrays.asList(assistant.computeContextInformation(context.getViewer(), context.getInvocationOffset()));
}
примеры из справки
- HippieProposalComputer - http://svn.codespot.com/a/eclipselabs.org/mobile-web-development-with-phonegap/tags/r1.2/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/internal/ui/text/java/HippieProposalComputer.java
- HippieProposalProcessor - http://grepcode.com/file/repository.grepcode.com/java/eclipse.org/3.5.2/org.eclipse.ui.workbench/texteditor/3.5.1/org/eclipse/ui/texteditor/HippieProposalProcessor.java
Весь код на GitHUb contentassist
пакет https://github.com/Enide/nodeclipse-1/tree/master/org.nodeclipse.ui/src/org/nodeclipse/ui/contentassist
2 ответа
Точно так же, как @zulus сказал:
попробуйте добавить activ ="true" в javaCompletionProposalComputer и удалите
что сработало
<extension point="org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer"
id="nodeclispe_textual_proposals"
name="Nodeclipse Text Proposals">
<proposalCategory icon="icons/npm/npm.gif"/>
</extension>
<extension point="org.eclipse.wst.jsdt.ui.javaCompletionProposalComputer"
id="NodeclipseProposals"
name="Nodeclipse Proposals">
<javaCompletionProposalComputer
class="org.nodeclipse.ui.contentassist.JSDTProposalComputer"
categoryId="org.eclipse.ui.texteditor.textual_proposals"
activate="true">
</javaCompletionProposalComputer>
</extension>
http://www.nodeclipse.org/img/Completion-for-base-Node.js-modules.PNG
Если вам нужен простой пример реализации, реализующей ответ Паулса, вы можете проверить этот учебник: http://codeandme.blogspot.co.at/2014/05/extending-jsdt-adding-your-own-content.html