https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin
A Xcode 5+ plugin that adds more flexible autocompletion rather than just prefix-matching.
https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin
Last synced: about 1 month ago
JSON representation
A Xcode 5+ plugin that adds more flexible autocompletion rather than just prefix-matching.
- Host: GitHub
- URL: https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin
- Owner: FuzzyAutocomplete
- License: mit
- Created: 2013-10-20T07:20:32.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2017-06-16T09:46:58.000Z (almost 8 years ago)
- Last Synced: 2025-03-09T22:13:33.417Z (about 1 month ago)
- Language: Objective-C
- Homepage:
- Size: 873 KB
- Stars: 3,244
- Watchers: 105
- Forks: 350
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios-cn - 官网
README
#  Fuzzy Autocomplete for Xcode
## Not compatible with Xcode 9
Xcode 9 beta has this functionality built in now!
## `FuzzyAutocomplete 2.1`
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`.
## Authors
FuzzyAutocomplete is brought to you by:* [Leszek Ślażyński](http://github.com/slazyk) ([@slazyk](http://twitter.com/slazyk)) - author of the 2.x version
* [Jack Chen](http://github.com/chendo) ([@chendo](http://twitter.com/chendo)) - original creator of the 1.x versionSee @chendo's original blog post about how he figured out what to patch: [Reverse engineering Xcode with dtrace](http://chen.do/blog/2013/10/22/reverse-engineering-xcode-with-dtrace/?utm_source=github&utm_campaign=fuzzyautocomplete)
Like nifty tools like this plugin? Check out [Shortcat](https://shortcatapp.com/?utm_source=github&utm_campaign=fuzzyautocomplete), an app by @chendo that lets you control your Mac more effectively with your keyboard!
## Features
### Main Features
* 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` vs `makerange`)
* [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*## Compatibility
* Supports Xcode 5.0+
* Supports OS X 10.8+
* Compatible with [KSImageNamed](https://github.com/ksuther/KSImageNamed-Xcode)## Installation
* Either:
* Install with [Alcatraz](http://alcatraz.io/)
* Clone and build the project
* Download and unzip a [release](https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin/releases) to
`~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/`
* Restart Xcode and enjoy!
* You should now see a `FuzzyAutocomplete` menu item in `Editor` menu
* If for some reason you want to remove the plugin it should be located at
`~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/`## Issues with new versions of OS X and/or Xcode
Updated OS or Developer Tools and the plugin does not work? The issue might have already been fixed. Always check whether [reinstalling](#installation) the newest version helps. If not, please file an [issue](https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin/issues) if there is none related. Or, even better, submit a pull request with a fix.
## Changelog
#### 2.1.1 - 2015/09/13
**A minor update with improvements and bugfixes, including:*** Support for Xcode 7
* Nicer list header, now on by default
* Improved Swift support
* Misc bugfixes#### 2.1.0 - 2014/06/04
**An update with new features, improvements and bugfixes, including:*** 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#### 2.0.1 - 2014/04/25
**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++#### 2.0.0 - 2014/04/16
**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++
* ...#### [Full Changelog](CHANGELOG.md)
[](http://githalytics.com/chendo/fuzzyautocompleteplugin)