【问题标题】:How can I create a task to run the URL to the current file如何创建一个任务来运行当前文件的 URL
【发布时间】:2016-03-09 18:57:25
【问题描述】:

我正在使用 vscode 做一些轻量级的 php 编程。我希望能够创建一个任务来打开当前文件的 URL(从我的本地网络服务器提供)。

这是我的 tasks.json 文件的内容:

{
    "version": "0.1.0",
    "command": "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe",
    "isShellCommand": false,
    "showOutput": "silent",
    "args": ["localhost/PhpProject1/${fileBasename}"]
}

这适用于位于文档根目录中的任何文件。但是,如果文件位于文档根目录下的子目录中,这将不起作用。有什么方法可以使任何文件都可以使用吗?

我觉得我的答案没有解决方案,因为 vscode 并不真正不知道文档根目录在哪里,所以它不知道如何获取相对路径。但我希望有某种配置可以让它做我想做的事。

谢谢。

【问题讨论】:

  • vscode 完全不关心您网站的结构。它只是运行一个程序(chrome),并传递一个命令行参数(一些文本恰好是一个 url)。也许如果 argshttp://localhost/.... 告诉 chrome 你想做一个 http 请求,而不是加载一些本地纯文本文件,它会工作
  • @MarcB 是的,这就是我的想法。在不使用http:// 的情况下它已经可以工作,但是在子目录中的文件中不起作用。

标签: php visual-studio-code


【解决方案1】:

您正在对其进行硬编码以在根文件夹中查找文件名。 $Filebasename 只是当前文件的名称,而不是根目录的相对路径。 查看这些参数:

  • ${workspaceRoot} VS Code 中打开的文件夹路径
  • ${file} 当前打开的文件
  • ${fileBasename} 当前打开文件的 Basecamp
  • ${fileDirname} 当前打开文件的目录名
  • ${fileExtname} 当前打开文件的扩展名
  • ${cwd} 启动时任务运行器的当前工作目录

除了文件名之外,您还需要传递路径/到/文件。如果你只是做了 ${file},那将是完整路径...我不确定 ${fileDirname} 是否包含完整路径,或者只是来自 ${workspaceRoot} 的相对路径

如果是完整路径,您可能需要制作一个测试脚本来解析路径并将其 ${workspaceRoot} 部分转换为 localhost

【讨论】:

    猜你喜欢
    • 2021-03-16
    • 2013-09-19
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多