Code change:
<ins> /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ 'use strict'; // import * as assert from 'assert'; import { fuzzyContiguousFilter, matchesFuzzy2, matchesFuzzy3, matchesFuzzy4, matchesFuzzy5, fuzzyMatchAndScore } from 'vs/base/common/filters'; const data = <{ label: string }[]>require.__$__nodeRequire(require.toUrl('./filters.perf.data.json')); const patterns = ['cci', 'ida', 'pos', 'CCI', 'enbled', 'callback', 'gGame']; const _enablePerf = true; function perfSuite(name: string, callback: (this: Mocha.ISuiteCallbackContext) => void) { if (_enablePerf) { suite(name, callback); } } perfSuite('Performance - fuzzyMatch', function () { console.log(`Matching ${data.length} items against ${patterns.length} patterns...`); function perfTest(name: string, match: (pattern: string, word: string) => any) { test(name, function () { const t1 = Date.now(); let count = 0; for (const pattern of patterns) { for (const item of data) { if (item.label) { count += 1; match(pattern, item.label); } } } console.log(name, Date.now() - t1, `${(count / (Date.now() - t1)).toPrecision(6)}/ms`); }); } perfTest('fuzzyContiguousFilter', fuzzyContiguousFilter); perfTest('matchesFuzzy2', matchesFuzzy2); perfTest('matchesFuzzy3', matchesFuzzy3); perfTest('matchesFuzzy4', matchesFuzzy4); perfTest('matchesFuzzy5', matchesFuzzy5); perfTest('fuzzyMatchAndScore', fuzzyMatchAndScore); }); </ins>

Related discussion:
text: <!-- Do you have a question? Please ask it on --- VSCode Version: 1.10.1 OS Version: macOS Is it possible for VSCode to support the following kinds of auto complete, please see screenshots Word completion: <img width="357" alt="screen shot 2017-03-07 at 10 23 19 am" src=""Member function completion: <img width="359" alt="screen shot 2017-03-07 at 10 20 22 am" src=""All auto-completions come with fuzzy matching. Steps to Reproduce:
Agree, actually fuzzy matching only works with camel Case, but in sublime and atom you can get completion by typing any middle letter of the target word. I still miss this feature in vscode
I like, tho will be some work and maybe some adjustment for folks that are used to our current filtering and ranking
This got implemented with <img width="280" alt="screen shot 2017-03-20 at 17 38 54" src=""
And this is valid for all languages then?
Yes, we have changed the default matcher to be more fuzzy.
VSCode: 11.0-insider I appear to be getting stuck in a recursive loop, and according to DevTools (I clicked Pause in the Debugger) it is happening in . I tested this with . I was able to reproduce this with a simple HTML file: After typing the opening and IntelliSense appears, trying to type an additional character will freeze the whole VSCode.
Thanks for the heads-up. You are right, there are situations in which it keeps recursing forever. I have implemented a different approach today and just pushed the last changes. Will be in tomorrows insiders.