适用于Linux的Windows子系统(WSL)可以很好地使大多数命令行Linux工具可用,并且无需修改即可在Windows上运行。但是,如果有人想要
- 使用Linux工具链构建项目,而该工具链 没有受支持的Windows等价物(Ruby,Node等)
- 使用基于Windows的GUI编辑器(例如Visual Studio代码)编辑文件。
问题是Windows应用程序无法修改虚拟lxss文件系统中的文件。直接修改这些文件会导致各种问题。
因此,在使用WSL进行开发时,似乎只有两个次优的选择:
将项目存储在lxss(
/home/foo
)下。正常的工具链可以正常工作。但是,编辑仅限于基于终端的Vim / Emacs或可以在janky X服务器下运行的任何程序,这比Windows上运行的本机编辑器的平滑度低。将项目存储在Windows文件系统(
/mnt/c/Users/foo
)下。现在,任何基于Windows的编辑器都可以用于开发。但是,基于Linux的工具链非常脆弱,因为它不适合在“网络驱动器”上使用,并且可能导致文件监视或数据库出现问题。
有什么办法可以在这两个方面都得到最好的利用-即能够使用本机Windows应用程序进行编辑,但仍可以像通常在本地驱动器上那样使Linux工具链正常工作?