Eclipse C++编辑CDT插件, 不再使用Alt+/快捷键补全


Eclipse C++编辑CDT插件, 不再使用Alt+/快捷键补全

    • 第一步:下载安装CDT插件
    • 第二步:下载安装plugin-ins插件
    • 第三步:导入CDT插件源码
    • 第四步修改CDT插件源码
    • 第五步:将修改后的CDT插件导出为jar文件
    • 第六步:安装生成的jar文件

安装好**Eclipse C++**后, 需要按alt+/按钮才能显示自动补全的下拉框,很不方便.所以有了这篇文章的产生, 本篇章适合C/C++工程, java工程就不需要这么麻烦了.
第一步:下载安装CDT插件 依次点击菜单:Help->Install New Software,在弹出的窗口中点击如下下拉框,选择CDT-http…,然后点击Next进行安装.
Eclipse C++编辑CDT插件, 不再使用Alt+/快捷键补全
文章图片

Eclipse C++编辑CDT插件, 不再使用Alt+/快捷键补全
文章图片

第二步:下载安装plugin-ins插件 与第一步类似,点击菜单点击菜单:Help->Install New Software,在弹出的对话框中做如下选择.
Eclipse C++编辑CDT插件, 不再使用Alt+/快捷键补全
文章图片

第三步:导入CDT插件源码 打开 window->show view,选择others。然后选择plug-in Development 下的plug-ins,再点击Open按钮。在弹出的在plugin-ins串口找到 org.eclipse.cdt.ui ,右键单击,选择import as -> source project,导入之后在你的 workspace就可以看到这个插件工程。
Eclipse C++编辑CDT插件, 不再使用Alt+/快捷键补全
文章图片

第四步修改CDT插件源码 找到org.eclipse.cdt.ui/src/org.eclipse.cdt.internal.ui.text.contentassist/ContentAssistProcessor.java
修改public void setCompletionProposalAutoActivationCharacters(char[] activationSet)
public void setCompletionProposalAutoActivationCharacters(char[] activationSet) { //fCompletionAutoActivationCharacters= activationSet; String test = ".ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; char[] triggers = test.toCharArray(); fCompletionAutoActivationCharacters = triggers; }

找到
/org.eclipse.cdt.ui/src/org.eclipse.cdt.internal.ui.text.contentassist/CContentAssistProcessor.java
修改protected boolean verifyAutoActivation(ITextViewer viewer, int offset)
switch语句中增加了default分支.
protected boolean verifyAutoActivation(ITextViewer viewer, int offset) { IDocument doc = viewer.getDocument(); if (doc == null) { return false; } if (offset <= 0) { return false; } try { char activationChar = doc.getChar(--offset); switch (activationChar) { case ':': return offset > 0 && doc.getChar(--offset) == ':'; case '>': return offset > 0 && doc.getChar(--offset) == '-'; case '.': // Avoid completion of float literals CHeuristicScanner scanner = new CHeuristicScanner(doc); int token = scanner.previousToken(--offset, Math.max(0, offset - 200)); // The scanner reports numbers as identifiers if (token == Symbols.TokenIDENT && !Character.isJavaIdentifierStart(doc.getChar(scanner.getPosition() + 1))) { // Not a valid identifier return false; } return true; default: return Character.isAlphabetic(activationChar) || activationChar=='_'; } } catch (BadLocationException e) { } return false; }

第五步:将修改后的CDT插件导出为jar文件 在工程上右键,然后点击Export按钮,选择Plug-in Development下的Deployable plug-ins and fragment,然后点击next。再选择路径后,点击finish就完成了
Eclipse C++编辑CDT插件, 不再使用Alt+/快捷键补全
文章图片

Eclipse C++编辑CDT插件, 不再使用Alt+/快捷键补全
文章图片

第六步:安装生成的jar文件 【Eclipse C++编辑CDT插件, 不再使用Alt+/快捷键补全】实际上jar插件只要放入插件目录中替代就行了,也就是将第五步产生的jar文件复制到C:\Users*.p2\pool\plugins目录下,将原来的替换。

    推荐阅读