• 请不要在回答技术问题时复制粘贴 AI 生成的内容
James369
V2EX  ›  程序员

用 wsl2+vscode 开发,还挺香的

  •  
  •   James369 · Jun 21, 2022 · 6507 views
    This topic created in 1599 days ago, the information mentioned may be changed or developed.

    以前觉得 windows 不务正业,还搞一个 wsl 子系统进来做什么,安装一个虚拟机不就可以搞定。现在慢慢有了一些新体会。

    首先,wsl 确实比虚拟机要轻量,安装完 ps 一下进程就明白,很干净,没有多余的进程。 另外,互操作性不错,可以直接在 wsl 中运行 windows 命令(也有 tab 键补全命令)。两者的文件系统也可以互相打开。 现在,又可以将 vscode 挂到 wsl 中来开发,那真是爽了,毕竟用 linux 做开发环境,后端依赖库和软件包更新都很方便。又可以解决没有前端 IDE 编辑器的问题。

    有了这些能力,win10 系统被我保留了下来,不然早就格式化安装 linux 了。当然,使用中也发现一些问题,比如:

    • wsl 中无法设置静态 ip ,每次启动都变了。
    • wsl 中挂的 win 文件系统,文件权限和属主( chmod/chown )好像有问题,全是 root ,777 。 不知道怎么处理比较好?
    Supplement 1  ·  Jun 22, 2022
    目前已经可以满足日常开发需求,后续有时间还想玩的东西:

    + 尝试集成 Docker Container 。
    + 直接从 wsl 中开启 linux GUI 应用。
    + 安装 Cuda 使用 GPU 进行玩玩 AI 训练。
    15 replies  •  2022-06-22 10:06:00 +08:00
    xtreme1
    xtreme1
    Jun 21, 2022❤️7
    1
    windows 访问 wsl2 的服务, 微软做了兼容, 直接用 127.0.0.1 就可以了
    wsl2 访问 windows 主机可以用 主机名.mshome.net
    主机名:Windows 设置--系统--关于--设备名称的小写

    wsl 的文件权限 微软文档很清楚了
    https://docs.microsoft.com/zh-cn/windows/wsl/file-permissions
    stormlin
    stormlin
    Jun 21, 2022❤️1
    2
    那你这个反正都是 vscode remote ssh ,那和直接 virutal box 又有什么不同
    mayday526
    mayday526
    Jun 21, 2022
    3
    文件如果在宿主机这边,编译很慢
    shea
    shea
    Jun 21, 2022
    4
    我现在也是用的这种方式, 相比较直接在 linux 上开发, 还是很香的, 不过 idea 貌似没有像 vscode-remote-wsl 插件的方便, 有个远程开发, 发现还是不尽人意, 在这里求一个解决方案
    James369
    James369
    OP
    Jun 21, 2022
    5
    @xtreme1 竟然用 127.0.0.1 ,微软还真是简单粗暴,哈哈
    James369
    James369
    OP
    Jun 21, 2022
    6
    @stormlin #2 既然 wsl 称之为子系统,那么应该会被深度整合,互连互通,同时也更轻量。
    kid740246048
    kid740246048
    Jun 21, 2022
    7
    目前已经可以设置静态 ip 了,只是需要 wsl 版本大于 0.51.2
    参考: https://github.com/microsoft/WSL/issues/4150#issuecomment-1018524753
    libook
    libook
    Jun 21, 2022
    8
    我在 Windows 上用 Cygwin 装 XServer ,然后在 WSL2 里装 IntelliJ ,可以直接投到 Windows 的 XServer 上,使用起来跟直接在 Windows 上跑 IntelliJ 一样。

    WSL 内尽量使用自己的文件系统,建议仅在需要文件传输的时候才在 WSL 内部访问 Windows 的文件系统,以避免一些兼容性和 hook 问题。
    clf
    clf
    Jun 21, 2022
    9
    wsl2 的 io 性能感觉有点难受,整体查询会比直接在 VMware 里跑 linux 慢一些?
    zed1018
    zed1018
    Jun 21, 2022
    10
    > wsl 中挂的 win 文件系统,文件权限和属主( chmod/chown )好像有问题,全是 root ,777 。 不知道怎么处理比较好?

    user 的部分应该是跟你安装发行版的默认用户有关,我这里是我当时创建的用户是 owner 。然后权限的话默认确实是 777 ,但是可以在 /etc/wsl.conf 里调 u/f/dmask 。参考这个 https://docs.microsoft.com/zh-cn/windows/wsl/wsl-config#wslconf

    https://i.imgur.com/XWIvwbu_d.webp
    zed1018
    zed1018
    Jun 21, 2022
    11
    imycc
    imycc
    Jun 21, 2022
    12
    之前阻碍我从虚拟机切换到 wsl 的最大问题就是这个 umask ,看着难受,虽然可以自己配置,但总觉得微软这么搞可能有它的理由,干脆不用了。
    MEIyiyi
    MEIyiyi
    Jun 21, 2022 via Android
    13
    wsl 我也装,但运行速度没 cmd powershell 快
    bthulu
    bthulu
    Jun 22, 2022
    14
    写个 js 用什么 wsl, 是 windows 下不能开发么?
    cheng6563
    cheng6563
    Jun 22, 2022
    15
    再用用,你会用回 vm 的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   913 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 22:28 · PVG 06:28 · LAX 14:28 · JFK 17:28
    ♥ Do have faith in what you're doing.