用 wsl2+vscode 开发,还挺香的 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
James369

用 wsl2+vscode 开发,还挺香的

  •  
  •   James369 Jun 21, 2022 6021 views
    This topic created in 1409 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
    windows 访问 wsl2 的服务, 微软做了兼容, 直接用 127.0.0.1 就可以了
    wsl2 访问 windows 主机可以用 主机名.mshome.net
    主机名:Windows 设置--系统--关于--设备名称的小写

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

    WSL 内尽量使用自己的文件系统,建议仅在需要文件传输的时候才在 WSL 内部访问 Windows 的文件系统,以避免一些兼容性和 hook 问题。
    clf
        9
    clf  
       Jun 21, 2022
    wsl2 的 io 性能感觉有点难受,整体查询会比直接在 VMware 里跑 linux 慢一些?
    zed1018
        10
    zed1018  
       Jun 21, 2022
    > 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
        11
    zed1018  
       Jun 21, 2022
    imycc
        12
    imycc  
       Jun 21, 2022
    之前阻碍我从虚拟机切换到 wsl 的最大问题就是这个 umask ,看着难受,虽然可以自己配置,但总觉得微软这么搞可能有它的理由,干脆不用了。
    MEIyiyi
        13
    MEIyiyi  
       Jun 21, 2022 via Android
    wsl 我也装,但运行速度没 cmd powershell 快
    bthulu
        14
    bthulu  
       Jun 22, 2022
    写个 js 用什么 wsl, 是 windows 下不能开发么?
    cheng6563
        15
    cheng6563  
       Jun 22, 2022
    再用用,你会用回 vm 的
    About     Help     Advertise     Blog     API     FAQ     Solana     5409 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 51ms UTC 07:37 PVG 15:37 LAX 00:37 JFK 03:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86