Even though I've explicitly set the Finder preference to display all file extensions, I'm still finding that some apps do not show the file name extension in their Spotlight result.
Here are some examples.
I'm running Mountain Lion.
Ask Different is a question and answer site for power users of Apple hardware and software. It only takes a minute to sign up.Sign up to join this community
Basically, it's a bug or bug fix introduced in macOS 10.13 High Sierra: Spotlight now respects the Finder setting to show file extensions. Disabling that setting removes the .app extension from Spotlight.
I know this is a very old question, but I just had a déjà-vu in 10.13 High Sierra; different to this one but with some similarities, so I searched for it and stumbled upon this question and here's my answer:
Apps are in fact directories displayed as if they were a single file; Apple calls that a bundle (despite the Finder naming it "Package" as in "Show Package Contents" in the context menu). Not just applications are bundles, Apple uses bundles also for frameworks, plugins, application extensions, XPI services, certain kind of installer packages, as well as data storage format if stored data consists out of multiple files but shall appear as just one file (e.g. a RTF document with pictures can be stored as a RTFD bundle). Bundles always have a real name, the name of the file entry on disk. So if there is nothing else to display, macOS displays that name everywhere.
However, bundles have a info file inside, named
Info.plist, which contains all kind of meta data about the bundle. One thing such an info file can define is a Display Name. If such a display name is set, Finder will display the display name and not the real name of the directory. That is, unless the directory has been re-named, which the Finder can detect if the directory name does not match the bundle name in the
Info.plist file. Well, I admit, it's a bit complicated. Let's try it with an example:
My Cool App
With that combination, Finder will show the app as
My Cool App.app (or just
My Cool App if extensions are hidden). As long as (1) and (2) match in name, (3) is displayed.
If I now rename the directory to
My Boring App.app, then Finder will display it as
My Boring App.app since as soon if (1) and (2) don't match in name, (1) is displayed, as if the user wants his/her app renamed, of course, Finder should display the user chosen name, makes sense, doesn't it?
Complicated enough already? Well, I'm sorry, but it gets even more complicated now. All values in the
Info.plist that are displayed to users can be localized, so if your system is set to US English, the bundle display name may be
My Cool App, but if the system is set to UK English, it can be
My Amazing App. If a localization exists for the current system language, Finder will display that localization, but again, only if the names of (1) and (2) matches, otherwise (1) will win again.
Localizing is done by placing
.strings files into bundles into sub-directories that are named
<x> can just be a language code, e.g.
en.lproj for English,
fr.lproj for French, etc. But in can also be language + country, like
en_AU.lproj, and so on. Inside is a file named
InfoPlist.strings and this file can override the base values of the
Info.plist file. If no matching localization is found, the values from the base localization are used (named development region) which is also defined by the
Info.plist file. If no such localization is defined, the values from the
Info.plist are used directly.
Spotlight behaves like Finder, if (1) and (2) match in name (3) is displayed, either directly or from the matching localization. If (3) isn't set, (1) is displayed. But unlike Finder it does not always add the
.app extension, even if requested in Finder preferences. I wasn't able to ever find the exact behavior pattern, but a certain combination of setup will prevent Spotlight from showing the extension, regardless of what you have configured. For some users it is fixed by changing the Finder setting and then running
sudo mdutil -E / in
Terminal (which re-indexes everything). But it's not working for all users, which may have something to do with the chosen language/region.
Basically it's a bug. Either re-indexing fixes it or it can't be fixed. And the behavior was changed by Apple at some macOS release and stayed constant thereafter... that is, until 10.13 High Sierra. All of a sudden all my apps have
.app extension in Spotlight, which matches my Finder setting, whereas in 10.12 Sierra no app had an extension in Spotlight, despite the Finder setting, unless I have renamed it or unless I had multiple copies of lying around.
It seems this happens when Spotlight indexes the apps before the setting to hide extensions was in effect. You should try reindexing applications to resolve this issue.
Go to the Privacy tab in Spotlight preferences and add the Applications directory to the excluded locations. This should remove all applications from the Spotlight index. Then remove it again from the excluded locations so Spotlight will reindex applications with the correct settings. After reindexing the ".app" extension should be removed from all results.