omnisharp ReadMe这样说:
操作系统特定的配置
如果有特定命令 需要根据操作系统进行更改的字段,您可以使用以下字段: “ windows”,“ osx”或“ linux”。您可以替换任何字段 上面提到的特定操作系统。
这是我的launch.json
文件:
{
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/TestConsole/bin/Debug/netcoreapp2.1/TestConsole.dll",
"args": [
"c:\\git\\core\\XunitTestLib\\Steps\\",
// "~/../../XunitTestLib/Steps"
],
"cwd": "${workspaceFolder}/TestConsole",
"console": "internalConsole",
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart"
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
},
]
}
调试时,我想在Windows上以未注释的"args"
条目开头,但是在macOS上,我希望它以注释掉的行开头。
我假设我将分别对Windows和Mac重复一次配置,但是此语句令人困惑:
您可以替换上述针对特定操作系统的任何字段。
似乎是在说我可以将"args"
替换为"osx"
,但这显然行不通。
如何为目标平台创建配置?
答案 0 :(得分:0)
事实证明,针对多个平台进行定位比我预期的要容易得多,并且对于tasks.json
文件而言,explained here的使用(但对于launch.json
而言却是相同的)。
针对osx
和windows
进行调整的我的launch.json文件如下所示:
{
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/TestConsole/bin/Debug/netcoreapp2.1/TestConsole.dll",
"windows": {
"args": [
"c:\\git\\core\\XunitTestLib\\Steps\\"
]
},
"osx": {
"args": [
"~/../../XunitTestLib/Steps"
]
},
"cwd": "${workspaceFolder}/TestConsole",
"console": "internalConsole",
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart"
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
},
]
}