A XMake integration in Visual Studio Code.
You need install xmake first and a project with xmake.lua
.
Please see xmake-github and website if you want to known more about xmake.
xmake-vscode will generate .vscode/compile_commands.json
file, so you need only add it to .vscode/c_cpp_properties.json
to enable IntelliSense.
for example (.vscode/c_cpp_properties.json
):
{
"configurations": [
{
"compileCommands": ".vscode/compile_commands.json"
}
],
"version": 4
}
These configuration settings are stored in your project's c_cpp_properties.json file. To edit this file, in VS Code, select C/C++: Edit Configurations (UI) from the Command Palette (⇧⌘P):
Please see IntelliSense for cross-compiling
Debug via launch configurations (launch.json) is accessible only with Run->Start Debugging (not F5 keybinding) or via Launch Debug command.
attribute | type | |
---|---|---|
name | string | Required. Launch configuration name, as you want it to appear in the Run and Debug panel. |
type | string |
Required. Set to xmake . |
request | string |
Required. Session initiation method:launch or attach . |
target | string | Required. XMake target. |
env | object | Additional environment variables. {"PATH" : "some/path"}
|
args | string ❘ [string] | Command line parameters. If not defined args are taken from debuggingTargetsArguments config. |
cwd | string | If not defined xmake will use the target directory. |
stopAtEntry | boolean | If set to true, the debugger should stop at the entry-point of the target (ignored on attach). Default value is false. |
terminal | string | Destination of stdio streams:
|
Example:
{
"configurations": [
{
"name": "XMake Debug",
"type": "xmake",
"request": "launch",
"target": "example",
"stopAtEntry": true
}
]
}
You can choose the debugger extension with xmake.debugConfigType
, set it to:
default
for cpptools debuggercodelldb
for lldb debuggerYou can choose the behaviour between xmake envs and envs that are defined in launch.json
For an xmake envs that are like this {"PATH: "path/from/xmake"}
and in launch.json
{"PATH": "path/from/config"}
.
Default is merge
.
xmake.envBehaviour
set to merge
, the result is: {"PATH": "path/from/xmake;path/from/config"}
.xmake.envBehaviour
set to erase
, the result is: {"PATH": "path/from/xmake"}
xmake.envBehaviour
set to override
, the result is: {"PATH": "path/from/config"}
.XMake envs will only be replaced for the same key, if another xmake env key is present, it will be present in the final result.
We can configure them in settings.json
{
"configuration": {
"type": "object",
"title": "XMake configuration",
"properties": {
"xmake.executable": {
"type": "string",
"default": "xmake",
"description": "The xmake executable name / path"
},
"xmake.logLevel": {
"type": "string",
"default": "normal",
"description": "The Log Level: normal/verbose/minimal",
"enum": [
"verbose",
"normal",
"minimal"
]
},
"xmake.buildLevel": {
"type": "string",
"default": "normal",
"description": "The Build Output Level: normal/verbose/warning/debug",
"enum": [
"verbose",
"normal",
"warning",
"debug"
]
},
"xmake.buildDirectory": {
"type": "string",
"default": "${workspaceRoot}/build",
"description": "The Build Output Directory"
},
"xmake.installDirectory": {
"type": "string",
"default": "",
"description": "The Install Output Directory"
},
"xmake.packageDirectory": {
"type": "string",
"default": "",
"description": "The Package Output Directory"
},
"xmake.workingDirectory": {
"type": "string",
"default": "${workspaceRoot}",
"description": "The Project Working Directory with the root xmake.lua"
},
"xmake.androidNDKDirectory": {
"type": "string",
"default": "",
"description": "The Android NDK Directory"
}
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。