如何识别选定的代码是方法、函数还是变量...?
public class Modifiers implements IObjectActionDelegate{
private Shell shell;
public void run(IAction action) {
SelectedText selectedText;
IEditorPart editor = getActiveEditor();
if (editor instanceof AbstractTextEditor) {
selectedText = getSelectedText(editor);
//HOW TO IDENTIFY THE SELECTED CODE
}
}
public void selectionChanged(IAction action, ISelection selection) {
}
public void setActivePart(IAction action, IWorkbenchPart targetPart) {
shell = targetPart.getSite().getShell();
}
private IEditorPart getActiveEditor() {
return Activator.getDefault().getWorkbench().getActiveWorkbenchWindow()
.getActivePage().getActiveEditor();
}
private SelectedText getSelectedText(IEditorPart editor) {
SelectedText selectedText;
try {
final ISelection selection = editor.getEditorSite().getSelectionProvider().getSelection();
final ITextSelection textSelection = (ITextSelection) selection;
selectedText = new SelectedText(textSelection.getText(), textSelection.getOffset(), textSelection.getLength());
} catch (Exception e) {
selectedText = new SelectedText("", 0, 0);
}
return selectedText;
}}
正如您所看到的,我将选择的代码放在selectedText中。现在我想知道的是,我如何识别该变量中的代码是一个方法,一个变量还是它包含的任何东西。
在使用eclipse进行重构时,它会显示您选择的代码信息。我们的想法就是做这样的事情。
谢谢你的帮助。
发布于 2013-01-15 22:02:11
如果我是对的,你只需要将鼠标指针移动到你想要获取细节的代码上,它将显示一个包含特定符号的细节弹出窗口,例如对于静态变量,它将在该符号或图标中显示's‘。
仔细看每一个包含不同2个字母和颜色的符号都有它自己的含义。例如,绿色表示公共,红色表示私有,灰色表示本地等。
https://stackoverflow.com/questions/14339070
复制相似问题