The Eclipse "Reconciler" is the component responsible for showing "errors as you type", and performing other expensive actions that depend on the current contents of the editor. The reconciler uses a background thread for its work, and kicks in only after the user stops typing for a short while (usually 500ms). This is how the Java reconciler works, and most other IDEs.
Scala IDE should do the same. Right now, it installs a listener for "buffer changed" events, and issues "askReload" calls on each keystroke. A "reload" action in the presentation compiler means "drop what you were doing AND start typechecking with the new source file contents". Later, when the reconciler kicks in (after 500ms of pause), the type-checker can return eventual type errors faster.
The disadvantage is that the PC thread is always doing (useless) work when the user types. We need to switch to the standard approach. This involves making sure that all actions that depend on having up-to-date trees (hyperlinking, hovers, completion) are still working correctly, even if the user triggers them immediately after typing, and before the reconciler kicked in.
No file chosen
You have an empty file field. Please select or remove it.
Add people from your team or external to follow ticket activity
Followers will receive email updates about new ticket activity or emails sent to email@example.com