Change:
const conditionalSchema = (command: string, actions: readonly ContributedCodeAction[]): IJSONSchema => { return { if: { <ins> required: ['command'], </ins> properties: { 'command': { const: command } }

Discussion:
<!-- 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?: Yes/No <!-- 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. --linter is showing incorrect/spurious listing: is optional, so we shouldn't show this? <img width="648" alt="image" src="https://user-"- don't make sense: <img width="683" alt="image" src="https://user-"<img width="726" alt="image" src="https://user-" Version: 1.77.0-insider (Universal) Commit: Date: 2023-03-09T05:22:33.512Z Electron: 19.1.11 Chromium: 102.0.5005.196 16.14.2 V8: 10.2.154.26-electron.0 OS: Darwin arm64 22.3.0 Sandboxed: Yes
cc
When defining a command, it's also possible to provide a description and a schema for the arguments: These argument schemas are collected and included in the generated keybinding schema: The generated schema looks like this: the bug is in the clause, it is also true for all objects that do NOT have a property The fix is to add a to the clause
Thanks for the investigation! It would've actually taken me ages to figure this out, I think
Still warns me about : !

Update: doesn't seem to come from the code action commands
Hm, I don't see the command field for which the warning is shown, so maybe what I'm saying is wrong, but: so this issue about warnings that are simply untrue, while what you're seeing is likely true, as the command requires an argument with field "kind". It would, of course, be better to have warning range to underline not the field-name but the value-object. Does it make sense?
In my case, I hadn't a yet. Here's the keybinding I was using:
Oh, indeed, you're right, thanks!
I am not seeing any warning / error for following. Is not the property mandatory like property? <img width="404" alt="image" src="https://user-"
is optional. I don't know why. The keybinding service matches this keybinding but just doesn't do anything. should know why field in a keybinding is not mandatory.
Verified the scenarios described above. I'm not seeing a warning for empty command values but I expect one. { "key":"ctrl+q", "command":"" }
I'm thinking the empty command and no command scenarios can go into another issue together. I marked this one as verified.
The idea is that you can immediately unbind all commands bound to a key by using e.g. and allow that it falls through to the default browser behavior. This is useful if there's a key combination needed for typing a character, but the key combination is bound by default (either by the core, or by an extension). e.g. , .