Where'd my Lua Intellisense go?
Suddenly, it was gone.

A few nights ago, I started cleaning up my VSCode workspace file on one of my larger projects. I had an extensive list of search.exclude entries for various dot folders, logs, and node_modules.
VSCode let’s you glob things together to save time and apply similar rules to brace groups, which is great:
"search.exclude": {
"**/{.local, .cache, .github}/**": true
}
It’s a nice shorthand for the same folders and rules you might have in search.exclude. files.watcherExclude, files.exclude, and similar arrays.
It’s nice until something breaks, like Lua.
After … well, far too many hours diagnosing WHY Lua stopped parsing the directories (and turning on it’s debugger to watch it work), it sniffs files.exclude on start (even though it has it’s own workspace.ignoreDir) and prepends it. You know what it doesn’t know how to handle?
Brace groups! So, tip of the day!
If your Lua (or likely any language engine) isn’t iterating your project correctly, check whether or not your VSCode workspace uses brace groups (and, likely, negating patterns, like **/!.local/**). If so, replace them with good old-fashioned line entries.
"search.exclude": {
"**/.local/**": true,
"**/.cache/**": true,
"**/.github/**": true
}
That’s what I get for trying to be clever. 🤨







