当前位置: 首页 > 知识库问答 >
问题:

在多文件夹workspaceFolder变量中嵌套/连接工作区输入变量?

段干弘扬
2023-03-14
{
  "folders": [
    {
      "name": "Client",
      "path": "path/to/client/code"
    },
    {
      "name": "Server",
      "path": "path/to/server/code"
    },
    {
      "name": "Shared",
      "path": "path/to/shared/code"
    }
  ],
  "launch": {
    "version": "0.2.0",
    "configurations": [
      {
        "name": "(gdb) Launch",
        "type": "cppdbg",
        "request": "launch",
        "cwd": "${workspaceFolder}",
        "program": "apphere"
      }
    ],
    "inputs": [
      {
        "id": "pickProject",
        "type": "pickString",
        "description": "Select a project:",
        "options": [
          "Client",
          "Server"
        ]
      }
    ]
  }
}
"cwd": "${workspaceFolder:${input:pickProject}}"

不幸的是,这不起作用。是否有其他方法为workspaceFolder变量提供动态范围?

我确实想出了一个相当笨拙的方法来处理这个问题,尽管感觉应该有更好的方法:如果将pickString输入选项更改为文件夹路径,然后将调试cwd更改为“cwd”:“${workspacefolder:shared}/../../..//${input:pickproject}”,您可以任意选择其中一个文件夹,遍历到根工作区目录,然后将${input:pickproject}变量追加到末尾。除了目录遍历之外,您看到的调试选项将是“path/to/client/code”和“path/to/server/code”,而不是更干净的“client”和“server”。但至少它看起来确实有效,尽管不是过于理想。

共有1个答案

屠兴旺
2023-03-14

使用extension命令变量,您有可能的解决方案

当客户机或服务器的文件打开且为当前文件时,F5将根据当前文件的路径选择正确的CWD

  "launch": {
    "version": "0.2.0",
    "configurations": [
      {
        "name": "(gdb) Launch",
        "type": "cppdbg",
        "request": "launch",
        "cwd": "${input:getCWD}",
        "program": "apphere"
      }
    ],
    "inputs": [
      {
        "id": "getCWD",
        "type": "command",
        "command": "extension.commandvariable.file.fileAsKey",
        "args": {
          "/client/": "/path/to/client/code",
          "/server/": "/path/to/server/code"
        }
      }
    ]
  }

如果需要显示客户端服务器但返回相应路径的挑选列表,请使用:

  "launch": {
    "version": "0.2.0",
    "configurations": [
      {
        "name": "(gdb) Launch",
        "type": "cppdbg",
        "request": "launch",
        "cwd": "${input:pickPath}",
        "program": "apphere"
      }
    ],
    "inputs": [
      {
        "id": "pickPath",
        "type": "command",
        "command": "extension.commandvariable.pickStringRemember",
        "args": {
          "description": "Select a project:",
          "options": [
            ["Client", "/path/to/client/code"],
            ["Server", "/path/to/server/code"]
          ]
        }
      }
    ]
  }
 类似资料:
  • 我试图使一个简单的计算器,但与2个文件。第一个文件用于普通代码,第二个文件用于开关情况。我想做的是使用来自num1 num2的输入来switch.java我的问题是num1 num2不能在switch.java中解析为变量 第1周.Java switch.java

  • 可以通过Request对象完成全局输入变量的检测、获取和安全过滤,支持包括$_GET、$_POST、$_REQUEST、$_SERVER、$_SESSION、$_COOKIE、$_ENV等系统变量,以及文件上传信息。 获取PARAM变量 PARAM变量是 TP5推荐的获取请求参数的方式 // 获取当前请求的id变量 $request->param('id'); // 获取当前请求的所有变量(已过

  • 请参考:http://www.kancloud.cn/manual/thinkphp/1721

  • 可以通过Request对象完成全局输入变量的检测、获取和安全过滤,支持包括$_GET、$_POST、$_REQUEST、$_SERVER、$_SESSION、$_COOKIE、$_ENV等系统变量,以及文件上传信息。 获取PARAM变量 PARAM变量是 TP6.0推荐的获取请求参数的方式 // 获取当前请求的id变量 $request->param('id'); // 获取当前请求的所有变量(

  • 可以通过Request对象完成全局输入变量的检测、获取和安全过滤,支持包括$_GET、$_POST、$_REQUEST、$_SERVER、$_SESSION、$_COOKIE、$_ENV等系统变量,以及文件上传信息。 为了方便说明,本篇内容的所有示例代码均使用Facade方式,因此需要首先引入 use think\facade\Request; 如果你使用的是依赖注入,请自行调整代码为动态调用即可

  • 我正在使用多根工作区功能查看我的c项目中的源文件以及几个外部库。我正在尝试使用cpptools扩展来实现intellisense和其他功能。我想在工作区级别相对于。code-workspace文件设置默认包含路径。使用${workspaceFolder}解析为包含所查看文件的文件夹的路径。是否存在始终解析代码工作区文件路径的环境变量?还是我可以设置一个配置变量,然后使用${config:varia