首先,VSCode 打开的浏览器和您设备上的 Chrome 确实是两个不同的实体。VSCode 使用自己的浏览器实例来运行和调试代码,而不是使用您设备上安装的 Chrome 浏览器。
关于您无法获取设备浏览器上的 cookie 等信息的问题,这可能是由于几个原因造成的:
- Cookie 隔离:VSCode 的调试器通常会为每个启动的浏览器实例设置独立的 cookie 存储。这意味着,当您在 VSCode 中运行和调试代码时,它将在其自己的 cookie 存储中运行,而不是使用您设备上 Chrome 的 cookie 存储。
- 端口问题:如果您在 VSCode 中运行和调试的端口与您设备上 Chrome 的端口不同,那么浏览器会将其视为不同的域。这意味着,VSCode 中的浏览器实例将无法访问您的设备上 Chrome 的 cookie。确保在 VSCode 中使用的端口与您设备上 Chrome 的端口相同。
- 安全限制:出于安全考虑,某些 cookie 可能被限制为只能在特定的浏览器实例或域中使用。这可能导致 VSCode 中的浏览器实例无法访问您的设备上 Chrome 的 cookie。
为了解决这个问题,您可以尝试以下方法:
- 确保 VSCode 中使用的端口与您设备上 Chrome 的端口相同。
- 检查您的项目配置,确保没有安全限制阻止 VSCode 中的浏览器实例访问 cookie。
- 如果您的项目依赖于特定的 cookie,您可以尝试手动将所需的 cookie 添加到 VSCode 中的浏览器实例的 cookie 存储中。这可以通过在 VSCode 的配置文件中设置
"debug.javascript.usePreview": true
来实现,这将允许您在调试时手动添加所需的 cookie。
请注意,由于 VSCode 和其调试器的工作方式,它可能无法完全模拟您设备上 Chrome 的行为。因此,如果您的项目依赖于特定于设备的 cookie 或其他浏览器特性,您可能需要考虑其他解决方案或测试方法。