This is a Xcode 5+ plugin that patches the autocomplete filter to work the same way the Open Quickly works. It performs very well, and the fuzzy matching actually uses Xcode's own IDEOpenQuicklyPattern
.
FuzzyAutocomplete is brought to you by:
- Leszek Ślażyński (slazyk) - author of the 2.x version
- Jack Chen (chendo) - original creator of the 1.x version
See @chendo's original blog post about how he figured out what to patch: Reverse engineering Xcode with dtrace
Like nifty tools like this plugin? Check out Shortcat, an app by @chendo that lets you control your Mac more effectively with your keyboard!
- Xcode's autocompletion matches like Open Quickly does
- Supports Xcode's learning and context-aware priority system
- [New] [Experimental] Corrects word order for you (eg.
rangemake
vsmakerange
) - [New] [Experimental] Auto-corrects case when pressing space (eg.
CGFLoat
) - [New] Visualizes matches in Completion List and Inline Preview
- [New] Easily customizable via a Settings Window (Editor > FuzzyAutocomplete)
- [New] [Optional] Sorts items by their score for easier searching
- [New] [Optional] Hides items based on a threshold for less clutter
- [New] [Optional] Shows the query and number of matches in Header View
- [New] [Optional] Shows match scores for items in the List
- [New] Selects prev/next completion with shortcuts (default
⌃>
/⌃.
) - [Optional] Treats first few query letters as a required prefix
- Productivity++
[New] denotes a feature added in 2.0
[Optional] denotes a feature which can be configured in settings
[Experimental] denotes ... well just guess what it denotes
- Supports Xcode 5.0+
- Supports OS X 10.8+
- Compatible with KSImageNamed
- Either:
- Install with Alcatraz
- Clone and build the project
- Download and unzip a release to
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/
- Restart Xcode and enjoy!
- You should now see a
FuzzyAutocomplete
menu item inEditor
menu
- You should now see a
An update with new features, improvements and bugfixes, including:
- Preliminary support for Xcode 6 and Swift
- Correct Word Order by two-pass matching, useful when:
you don't remember the order (eg rangemake)
want to narrow down without backspacing (eg nsexceptioninvalid) - Correct Letter Case by replacing with exact match if there is only one
- Option to hide cursor when inline preview shows a non-prefix match
- Keep the selection when narrowing the search (unless it was the best match)
- Better inline previews, including token text, just without tokens
- Improved range convertions and highlighting
- Fixed useful prefix underlining when it spans multiple segments
- Fixed completion list positioning
A minor update with small bugfixes and improvements, including:
- Replaced letter- and prefix- caches with simple cached results stack
thus making backspacing much faster (Issue #29) - Previous/Next completion shortcuts now work properly (Issue #36)
- Completion List now automatically shows for one letter (Issue #37)
- Hide Inline Preview more reliably when disabled in settings
- Moved FuzzyAutocomplete menu item into Editor menu
- Added option to disable plugin in settings
- Fixed alphabetical sorting of results when using parallel scoring
- Reliability++
- Performance++
A major update introducing many fixes and improvements, including:
- Visual feedback in Completion List and Inline Preview
- Settings Window, settings now don't require Xcode restart
- Option to sort items by match score
- Option to hide items based on threshold
- Option to hide Inline Preview, which now works correctly
- Option to show a List Header with query and number of matches
- Option to show item scores in the List
- Improved score formula, added option to tweak parameters
- Previously hidden items can now re-appear if their score rises
Tab
now inserts an useful prefix based on whole fuzzy match- The results should no longer depend on the speed of typing
- Got rid of order dependent "shortest match" selection mechanism
- Performance++
- UX++
- ...