【问题标题】:URL for opening vscode in file in WSL workspace在 WSL 工作区的文件中打开 vscode 的 URL
【发布时间】:2021-03-11 12:33:59
【问题描述】:

我想在我的 Web 应用程序的异常处理程序中生成可点击的链接,以便在 vscode 中打开相应的源代码。

Visual Studio Code 为此提供了vscode://file/ 架构处理程序documented under command line docs。

很遗憾,这不理解位于 Linux 的 Windows 子系统内的文件链接。

知道如何生成在特定文件(+ 行)上打开 code 编辑器的链接吗?


编辑:目前似乎不起作用,也没有积压:

https://github.com/microsoft/vscode/issues/111188


编辑 2:

  • 有效的是使用命令行/bash 打开文件:

    code -g -r /path/to/file

  • 有办法建立打开远程工作区或文件夹的链接:

    vscode://vscode-remote/wsl+${WSL_DISTRO_NAME}/path/to/dir


编辑 3: 是的! As mentioned in Ryan's answer 现在可以通过将行号附加到 URL 来打开文件:

`vscode://vscode-remote/wsl+${WSL_DISTRO_NAME}/path/to/file.ext:1`

有了这个我可以finally click links in the Bette Error Gem to open in VSCode。

注意:如果文件不存在,那么很遗憾会打开一个新工作区。

【问题讨论】:

  • 非常感谢。只是想注意它应该是加号 (+) 而不是破折号 (-) 在这部分网址中:.../wsl+${WSL_DISTRO_NAME}/...

标签: visual-studio-code windows-subsystem-for-linux


【解决方案1】:

我发现这个帖子对查找准确信息最有帮助:

https://github.com/microsoft/vscode/issues/108257

OP 差不多就在那里,但我想给出一个完整的纲要:

  • 无法通过stat 远程文件路径来确定它是目录还是文件 (comment)。
  • 因此,除非路径以:linenumber[:column] (comment) 结尾,否则所有路径都被视为目录
  • 您只需将:1 附加到路径即可确保将其视为文件。

以下是一些有效的 url 示例:

vscode://vscode-remote/wsl+Ubuntu-18.04/home/me/src/myexpressapp/app.js:1
vscode://vscode-remote/wsl+Ubuntu-18.04/home/me/src/myexpressapp/app.js:1:20
vscode://vscode-remote/wsl+Ubuntu-18.04/home/me/src/myexpressapp/app.js:20:1
vscode://vscode-remote/wsl+Ubuntu-18.04/home/me/src/myexpressapp/

【讨论】:

  • 谢谢瑞恩!你有没有找到一种方法让它可用?当我单击此类链接时,它会关闭我当前的工作区并为给定文件打开它。
  • 啊,好吧,需要加:1,确保被当作文件处理。
  • 是的,不幸的是,打开一个目录会关闭您当前的工作区 - 不确定有没有办法解决这个问题。反正我只打算链接到文件,所以对我来说没什么大不了的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-23
  • 2019-08-22
  • 1970-01-01
  • 2019-12-19
  • 1970-01-01
  • 2022-06-22
  • 1970-01-01
相关资源
最近更新 更多