Every KXBuild command in the Command Palette, grouped by purpose and showing where else you can find it. Every setting with its default and effect, the launch and attach fields of the kxbuild debugger, and the four output channels.
Type KXBuild in the Command Palette (Ctrl+Shift+P) to see every command. Commands marked "context menu only" or "inside the editor only" appear only in those places. To find the settings, search for kxbuild in Settings.
KXBuild: Open with Asset Catalog Editor / Open Contents.json as Text
Right-click a Contents.json inside a .xcassets · editor title bar
KXBuild: Reload Asset Catalog
Editor title bar (in the Asset Catalog Editor)
KXBuild: Compile-check Asset Catalog
Command Palette · editor title bar (in the Asset Catalog Editor)
New App Icon / Image Set / Color Set / Data Set / Symbol Image Set / Folder · New App Icon (visionOS) · New App Icon & Top Shelf Image (tvOS) · New Image Stack (tvOS) · Rename · Delete · Reveal in Explorer · Fill All Sizes from 1024×1024 Image… · Convert to Single Size Icon · Add Platform… · Replace Image… · Remove Image
Context menu inside the Asset Catalog Editor only
KXBuild: Open with Project Settings Editor / Open project.pbxproj as Text
Right-click project.pbxproj · editor title bar
Add User-Defined Setting · Delete Setting · Copy Setting Name · Copy Value
Context menu inside the Project Settings Editor only
Press Ctrl+, to open Settings and type kxbuild in the search box to see just these settings. You can also click KXBuild under Extensions on the left. Checkboxes and drop-downs apply as soon as you change them, with no restart. For arrays and paths, click "Edit in settings.json" and write them like this.
The User tab at the top of Settings applies to every window. Workspace applies only to the current project and is saved in its .vscode\settings.json, so put settings your team shares there. Settings marked "user settings only" have no effect in the workspace.
KXBuild
Setting
Default
Description
kxbuild.toolchainHome
Empty
Directory containing the KXBuild toolchain. Probed before KXBUILD_HOME and PATH. User settings only.
kxbuild.ignoreMissingToolchainWarning
false
Do not warn at startup when no KXBuild toolchain is found
kxbuild.autoUpdate
true
At startup, check for a newer kxbuild. If there is one, update it in a terminal and run doctor.
kxbuild.defaultConfiguration
Debug
Build configuration selected at startup
kxbuild.build.extraArgs
[]
Extra arguments appended to every kxbuild build invocation. Each flag and value is a separate array entry.
kxbuild.debug.killAppOnStop
true
Kill the app on the device when the debug session stops
kxbuild.flutter.autoAttachDart
true
For Flutter apps, start the Dart debug session automatically when the app prints its VM service URL
KXBuild Swift
Setting
Default
Description
kxbuild.swiftPath
Empty
Folder containing the Swift executables. The lldb-dap debug adapter is also resolved from this folder. User settings only.
kxbuild.swiftRuntimePath
Empty
Directory holding the Swift runtime libraries. Empty uses the runtime next to the toolchain, Developer\Runtimes\<version>\usr\bin.
kxbuild.outputChannelLogLevel
info
The log level of the Swift output channel: debug, info, warn or error
KXBuild SourceKit-LSP
Setting
Default
Description
kxbuild.swiftSourcekitLspServerPath
Empty
The path of the sourcekit-lsp executable. Empty looks in the folder where swift is found.
kxbuild.swiftSourcekitLspServerArguments
[]
Arguments to pass to SourceKit-LSP
kxbuild.swiftSourcekitLspSupportedLanguages
["swift"]
Languages SourceKit-LSP handles. C-family languages are handled by clangd.
kxbuild.swiftSourcekitLspBackgroundIndexing
auto
Turns background indexing on or off. auto enables it on Swift 6.1 and later.
kxbuild.swiftSourcekitLspTraceServer
off
Logs the communication between VS Code and the language server: off, messages or verbose
kxbuild.swiftSourcekitLspDisable
false
Disable SourceKit-LSP
KXBuild Property List Editor
Setting
Default
Description
kxbuild.plist.defaultSaveFormat
preserve
Format the property list editor saves files in: keep the format the file was opened in, always save as XML, or always save as binary
kxbuild.plist.sortKeysOnSave
false
Sort dictionary keys alphabetically when saving, like Xcode
kxbuild.plist.showRootRow
true
Show a Root row above the top-level keys
kxbuild.plist.spacing
compact
Vertical spacing of rows: compact, comfortable or spacious
KXBuild Asset Catalog Editor
Setting
Default
Description
kxbuild.xcassets.deleteUnreferencedFiles
ask
What to do with image files no entry references after an edit: ask each time, delete them without asking, or keep them
KXBuild: Project Settings
Setting
Default
Description
kxbuild.xcodeproj.livePreview
true
Recompute resolved build settings after each change
kxbuild.xcodeproj.defaultMode
basic
Which settings the Build Settings page shows when it opens: basic, customized or all
The kxbuild debugger
Set "type" to kxbuild in launch.json. For an example, see Run and debug.
request
Field
Description
launch
build
true builds first. false installs the most recent build (default).
device
Device UDID. Empty uses the device selected in the view.
bundle
Bundle ID of the app target. Empty uses the only app target.
configuration
Debug or Release. Empty uses the one selected in the view.
attach
device
Same as above
attachPid
Process ID on the device. 0 shows a list to pick from when the session starts.
Output channels
Channel
Contents
KXBuild
Build logs, the extension's own log, and template script output
KXBuild Console
stdout, stderr, NSLog and os_log from the app being debugged, with runtime noise filtered out
Swift
Logs from the Swift integration. The level is set by kxbuild.outputChannelLogLevel.
SourceKit Language Server
Communication with SourceKit-LSP. Needs traceServer turned on.
Build errors and asset catalog check results appear in the Problems panel.