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进行安装.
文章图片
文章图片
第二步:下载安装plugin-ins插件 与第一步类似,点击菜单点击菜单:Help->Install New Software,在弹出的对话框中做如下选择.
文章图片
第三步:导入CDT插件源码 打开 window->show view,选择others。然后选择plug-in Development 下的plug-ins,再点击Open按钮。在弹出的在plugin-ins串口找到 org.eclipse.cdt.ui ,右键单击,选择import as -> source project,导入之后在你的 workspace就可以看到这个插件工程。
文章图片
第四步修改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就完成了
文章图片
文章图片
第六步:安装生成的jar文件 【Eclipse C++编辑CDT插件, 不再使用Alt+/快捷键补全】实际上jar插件只要放入插件目录中替代就行了,也就是将第五步产生的jar文件复制到C:\Users*.p2\pool\plugins目录下,将原来的替换。