Bug 46364 [content assist] Support incremental content assist
I've been spoiled by content assist. What would be a great addition would be a Unix-style "look ahead" invoked by the TAB key, like at a Unix Shell. If non-whitespace characters appear to the left of the Caret, it is unlikely that a TAB is going to be inserted in that line. This is why I think it's ok to use TAB for this. Basically, pressing TAB will be equivalent to the combination of: Control+SPACE, followed by ENTER. So, given: for (int i = 0; i < cols.length; i++) { Entry entry = cols[i]; double distance; if (entry.side == -1) { distance = Math.abs(baseRect.preciseX - entry.offset); if (distance < best) { bestSide = -1; best = dis<<CARET>> Pressing the TAB key will insert "tance".
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/BasicEditorActionContributor.java
textEditor= (ITextEditor) part;
			
		fContentAssist.setAction(getAction(textEditor, "ContentAssistProposal")); 
		fContextInformation.setAction(getAction(textEditor, "ContentAssistContextInformation")); 
		fCorrectionAssist.setAction(getAction(textEditor, "CorrectionAssistProposal")); 
		fCompletePrefix.setAction(getAction(textEditor, "ContentAssistCompletePrefix")); 
		
		IActionBars actionBars= getActionBars();
		actionBars.setGlobalActionHandler(JdtActionConstants.SHIFT_RIGHT, getAction(textEditor, "ShiftRight")); 
		actionBars.setGlobalActionHandler(JdtActionConstants.SHIFT_LEFT, getAction(textEditor, "ShiftLeft")); 
		actionBars.setGlobalActionHandler(IDEActionFactory.ADD_TASK.getId(), getAction(textEditor, IDEActionFactory.ADD_TASK.getId())); 
		actionBars.setGlobalActionHandler(IDEActionFactory.BOOKMARK.getId(), getAction(textEditor, IDEActionFactory.BOOKMARK.getId())); 
		
		
		fEncodingActionGroup.retarget(textEditor);
	}
	
	/*
	 * @see IEditorActionBarContributor#init(IActionBars, IWorkbenchPage)
	 */
	public void init(IActionBars bars, IWorkbenchPage page) {
		super.init(bars, page);
		
		 
		bars.setGlobalActionHandler(JdtActionConstants.CONTENT_ASSIST, fContentAssist);
		
		fEncodingActionGroup.fillActionBars(bars);
	}	
}