如何在VS Code中为Homestead/Vagrant环境的Laravel项目配置pathMappings
配置VS Code中Laravel Homestead环境的XDebug pathMappings
我来帮你理清楚这两个路径的配置逻辑,核心就是对应本地项目根目录和Homestead虚拟机里的项目根目录,搞清楚对应关系就没问题了:
1. 如何设置/path/on/server?
这个是Homestead虚拟机(服务端)里你的Laravel项目的绝对路径:
- 默认情况下,Homestead会把你本地指定的目录同步到虚拟机的
/home/vagrant/code目录下。比如你在Homestead.yaml里的同步配置是:
那如果你的Laravel项目叫folders: - map: ~/Projects # 本地项目所在的父目录 to: /home/vagrant/code # 虚拟机里的同步目录my-laravel-app,放在本地~/Projects/my-laravel-app,虚拟机里对应的路径就是/home/vagrant/code/my-laravel-app。 - 不确定具体路径的话,直接通过
vagrant ssh登录到虚拟机,进入你的项目目录后执行pwd命令,输出的内容就是你要填的/path/on/server。
2. 如何设置${workspaceRoot}/local/path?
这个是你本地VS Code当前工作区对应的项目根目录:
- 如果你直接在VS Code里打开的就是Laravel项目的根文件夹(比如
~/Projects/my-laravel-app),那直接写${workspaceRoot}就可以了,这个变量会自动指向VS Code当前打开的工作区根目录。 - 如果你的项目是在VS Code工作区的子文件夹里(比如工作区打开的是
~/Projects,项目在~/Projects/my-laravel-app),那就要写成${workspaceRoot}/my-laravel-app。
实际配置例子
假设你的配置是:
- 本地VS Code打开的是
~/Projects/my-laravel-app(工作区根目录就是项目根) - Homestead虚拟机里项目路径是
/home/vagrant/code/my-laravel-app
那你的pathMappings应该写成:
"pathMappings": { "/home/vagrant/code/my-laravel-app": "${workspaceRoot}" }
最后提醒一句:配置完记得重启VS Code的调试会话,确保路径映射生效哦。
内容的提问来源于stack exchange,提问作者Fred
相关产品推荐
相关产品推荐

