How I did this (please Daniel check if it's OK):
- added new method CtrlSpaceResolveHelper.AddReferencedProjectsContents()
- use this method in NRefactoryResolver.CtrlSpaceInternal() instead of CtrlSpaceResolveHelper.AddImportedNamespaceContents(), that means this will work for NRefactory languages. I believe there is no simple way to make it work for XAML, F#, Boo and Python at the same time, as they have different IResolvers that don't share any code, (although they maybe could?)
-> that means CC list always contains all referenced APIs
- Extend CodeCompletionItem.Complete() method to look if IClass being completed can be resolved in current context, and if not, add the using
The CC list gets larger now - I am profiling this to achieve the best speed possible.
Minor CC improvement:
- if there are more types with the same name, all of them are shown in CC. If user selects type which is not the one closest to current scope, CC inserts full name (e.g. if user has his own XmlNode class in current namespace, he can still choose to insert "System.Xml.XmlNode" from CC). TODO show fully qualified name in CC tooltips.
- compare to VS 2010 behavior: shows only the type that is closest to current scope (i.e. only shows user's XmlNode)
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5753 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
Please provide feedback (usefulness, performance, highlight color, ...)
It should have no effect on editor performance - when moving caret by holding an arrow in the editor, nothing gets executed. After the caret stops for 100ms at one place, expression under caret is resolved to e.g. hide current highlight if no expression is under caret. Then, if the caret stays in place for 1000ms, "Find references in current document" is executed (on the main thread, but it's quite fast, maybe could be moved to background thread).
The timeouts are done using two DispatcherTimers.
Added "Find references in given document" (RefactoringService.FindReferencesLocal) to RefactoringService.
Refactored RefactoringService a bit, but public API and its behavior stays unchanged.
Fixed comment of DebuggerService.HandleToolTipRequest.
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5725 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
- Updated AST to definition of FromClause
- Updated parser
- Added Unit Tests for QueryExpressionVB
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5700 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
Close code completion window after '.'-completion when deleting the dot with backspace.
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5674 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
Remove WPF designer's copy of NumericUpDown and ZoomControl and use SD.Widgets instead.
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5659 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
- \n was missing after command in Debugger ConsolePad
- 1 \n too much in Boo Interpreter output
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5650 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
Fixed potential deadlock between IProjectContent.ReferencedContents lock and IProject.SyncRoot when switching a project to another target framework.
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5644 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
Fixed bug that caused MSBuild to compile one project several times (possibly even in parallel, thus failing the build).
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5642 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
LoadSolutionProjectThread: Send progress report for the number of files parsed.
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5637 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61