Change:
<!-- Do Not Delete This! bugreporttemplate --<!-- Please read our Rules of Conduct: --<!-- Read our guide about submitting issues: --<!-- Search existing issues to avoid creating duplicates. --<!-- Test using the latest Insiders build to see if your issue has already been fixed: --<!-- Instead of creating your report here, use 'Report Issue' from the 'Help' menu in VS Code to pre-fill useful information. --<!-- Launch with to check. --Does this issue occur when all extensions are disabled?: N/A <!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: 1.66 OS Version: macOS 12.3 VS Code supports opening folders directly, but it does not declare folder support in in . This means apps with a "Open With" functionality cannot automatically list VS Code in a list of apps for users to choose from. Solution: Add to supported document types. Example:
/duplicate cc
This is not a duplicate of that issue. That issue is about adding a custom menu item to the right-click menu in Finder, which is completely different.
Oh yeah sorry!
btw not sure if you know anything about it, but I was never able to figure out how an Electron application can declare these services to work for text: ! vs VSCode: ! Maybe there is a related entry to declare text editor capabilities? Not sure you know anything about it.
It's something you get for free when using . You can declare support yourself with
I gave the suggestion to do what does a try but cannot make it work. Even when I install , I see no entry in the folder context menu to open the folder with the app, so I wonder if this actually is still supported in macOS? To clarify: when I try to copy the entry over, I can no longer start VSCode, so maybe there is more to it than just changing the info file, maybe it requires some native code too? I could not find any docs about this oddly, would be great to have blessing from Apple that this is still possible. I was hoping this could have maybe fixed
did you re-sign the package after making changes to the plist file ? This would require changes to so that relevant categories are filled under , I would suggest to test this change as part of the build, so that you have a signed application.
Oh yeah let me try that, however I have little hope given that was not showing up in the context menu either...
Finder does not support opening folders, but other apps do: (It hard-codes VS Code because of this issue) Here's a special build that does not hard-code VS Code so you can test it:
I have also sent a feature request to Apple to get a "Open With" menu in Finder for folders too:
if you want to test a build, I have ready with the following entry: Before trying, make sure to configure , otherwise the automated update would download the previous build again. One thing that is not clear to me: we use a few more properties when declaring such as: Wonder if that would cause any harm for a folder?
was deprecated in macOS 10.5. You should use instead.
I suggest to deal with in a separate issue. Opened PR to add , seems to work fine with the "Path Finder" app.
Verification: install an app that supports this ( -path finder) make sure you can right click on a folder in the path finder app and select VSCode to open
Verified. Path Finder looks cool
Yeah thought the same!

Discussion:
* If you call `darwinBundleDocumentType(..., 'bat', 'Windows command script')`, the file type is `"Windows command script"`, * and the `'bat'` darwin icon is used. */ <del> function darwinBundleDocumentType(extensions, icon, nameOrSuffix) { </del> <ins> function darwinBundleDocumentType(extensions, icon, nameOrSuffix, utis) { </ins> // If given a suffix, generate a name from it. If not given anything, default to 'document' if (isDocumentSuffix(nameOrSuffix) || !nameOrSuffix) { nameOrSuffix = icon.charAt(0).toUpperCase() + icon.slice(1) + ' ' + (nameOrSuffix ?? 'document');

name: nameOrSuffix, role: 'Editor', ostypes: ['TEXT', 'utxt', 'TUTX', '****'], <del> extensions: extensions, iconFile: 'resources/darwin/' + icon + '.icns' </del> <ins> extensions, iconFile: 'resources/darwin/' + icon + '.icns', utis </ins> }; } /**

return Object.keys(types).map((name) => { const extensions = types[name]; return { <del> name: name, </del> <ins> name, </ins> role: 'Editor', ostypes: ['TEXT', 'utxt', 'TUTX', '****'], extensions: Array.isArray(extensions) ? extensions : [extensions], <del> iconFile: 'resources/darwin/' + icon + '.icns', </del> <ins> iconFile: 'resources/darwin/' + icon + '.icns' </ins> }; }); }

ostypes: string[]; extensions: string[]; iconFile: string; <ins> utis?: string[]; </ins> }; function isDocumentSuffix(str?: string): str is DarwinDocumentSuffix {

* If you call `darwinBundleDocumentType(..., 'bat', 'Windows command script')`, the file type is `"Windows command script"`, * and the `'bat'` darwin icon is used. */ <del> function darwinBundleDocumentType(extensions: string[], icon: string, nameOrSuffix?: string | DarwinDocumentSuffix): DarwinDocumentType { </del> <ins> function darwinBundleDocumentType(extensions: string[], icon: string, nameOrSuffix?: string | DarwinDocumentSuffix, utis?: string[]): DarwinDocumentType { </ins> // If given a suffix, generate a name from it. If not given anything, default to 'document' if (isDocumentSuffix(nameOrSuffix) || !nameOrSuffix) { nameOrSuffix = icon.charAt(0).toUpperCase() + icon.slice(1) + ' ' + (nameOrSuffix ?? 'document');

name: nameOrSuffix, role: 'Editor', ostypes: ['TEXT', 'utxt', 'TUTX', '****'], <del> extensions: extensions, iconFile: 'resources/darwin/' + icon + '.icns' </del> <ins> extensions, iconFile: 'resources/darwin/' + icon + '.icns', utis </ins> }; }

return Object.keys(types).map((name: string): DarwinDocumentType => { const extensions = types[name]; return { <del> name: name, </del> <ins> name, </ins> role: 'Editor', ostypes: ['TEXT', 'utxt', 'TUTX', '****'], extensions: Array.isArray(extensions) ? extensions : [extensions], <del> iconFile: 'resources/darwin/' + icon + '.icns', </del> <ins> iconFile: 'resources/darwin/' + icon + '.icns' </ins> } as DarwinDocumentType; }); }

darwinBundleDocumentType([ 'containerfile', 'ctp', 'dot', 'edn', 'handlebars', 'hbs', 'ml', 'mli', 'pl', 'pl6', 'pm', 'pm6', 'pod', 'pp', 'properties', 'psgi', 'rt', 't' <del> ], 'default', product.nameLong + ' document') </del> <ins> ], 'default', product.nameLong + ' document'), // Folder support () darwinBundleDocumentType([], 'default', 'Folder', ['public.folder']) </ins> ], darwinBundleURLTypes: [{ role: 'Viewer',