This repository has been archived by the owner on Dec 27, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
pywslpath 工具的使用
riag edited this page May 27, 2019
·
6 revisions
pywslpath 工具是用于把 Windows 和 WSL Linux 的文件路径互相转换,具体使用看 这里
需要注意的是,pywslpath 工具必须定义 WSL_DISTRO_ROOTFS_DIR 环境变量,否则很多功能都不能使用, 建议使用 wsltty-launcher 来启动 WSL Linux,因为 wsltty-launcher 会自动设置了这个环境变量
manjaro-linux-for-wsl 基于这个工具提供了一些有用的 shell 函数,方便大家使用
该函数会生成 ~/.winenv.sh 文件,该文件里定义了 windows 下常见的路径,方便在 WSL Linux cd 到 windows 目录, 如果是在 zsh 里运行该函数,还会覆盖 ~/.zprofile 文件,把常见的 windows 路径定义一个别名
这是我的 ~/.winenv.sh
export WINHOME="/mnt/c/Users/riag"
export APPDATA="/mnt/c/Users/riag/AppData/Roaming"
export LOCALAPPDATA="/mnt/c/Users/riag/AppData/Local"
export WINDESKTOP="/mnt/c/Users/riag/Desktop"
export PROGRAMFILES="/mnt/c/Program Files"
export WINTEMP="/mnt/c/Users/riag/AppData/Roaming/Microsoft/Windows/Templates"
export WINSYSDIR="/mnt/c/WINDOWS/system32"
export WINDOWDIR="/mnt/c/WINDOWS"
export PROGRAMDATA="/mnt/c/ProgramData"
我的 ~/.zprofile 文件内容
hash -d windesktop=$WINDESKTOP
hash -d programfiles=$PROGRAMFILES
hash -d wintemp=$WINTEMP
hash -d winsysdir=$WINSYSDIR
hash -d windowdir=$WINDOWDIR
hash -d programdata=$PROGRAMDATA
支持传入 windows 目录路径进行 cd , windows 目录路径要使用双引号,例如
wcd "C:\Program Files"
支持传入 WSL Linux 目录路径或者文件路径,然后使用 windows 默认程序打开,这里其实就是调用 powershell start 来打开
如传入目录路径,就是使用 windows 的文件资源管理工具打开
该函数需要定义 WSL_DISTRO_ROOTFS_DIR 环境变量,直接使用 wopen 函数 WSL_DISTRO_ROOTFS_DIR 定义的路径
调用 Virtual Studio Code 工具打开文件或者目录, 该函数是通过 find-vscode 函数来获取 Virtual Studio Code 工具的路径
- vc 函数是在 Virtual Studio Code 的最后一个窗口打开文件或者目录
- vcn 函数是让 Virtual Studio Code 在一个新的窗口打开文件或者目录
find-vscode 查找规则
- 如果判断是否定义了 VSCODE_BIN 环境变量,如果定义了,就使用 VSCODE_BIN 环境变量
- 如果能通过
which code
命令找到 code 的路径,就直接使用这个路径 - 判断 $LOCALAPPDATA/Programs/Microsoft VS Code/bin/code 这个路径是否有存在,如果存在就返回这个路径
- 判断 $LOCALAPPDATA/Programs/Microsoft VS Code Insiders/bin/code 这个路径是否存在,如果存在就返回这个路径