WslBuild
一个用于在 WSL2 中运行构建系统的 Sublime Text 软件包
详细信息
安装次数
- 总计 486
- Win 485
- Mac 0
- Linux 1
2021 年 8 月 6 日 | 2021 年 8 月 5 日 | 2021 年 8 月 4 日 | 2021 年 8 月 3 日 | 2021 年 8 月 2 日 | 2021 年 8 月 1 日 | 2021 年 7 月 31 日 | 2021 年 7 月 30 日 | 2021 年 7 月 29 日 | 2021 年 7 月 28 日 | 2021 年 7 月 27 日 | 2021 年 7 月 26 日 | 2021 年 7 月 25 日 | 2021 年 7 月 24 日 | 2021 年 7 月 23 日 | 2021 年 7 月 22 日 | 2021 年 7 月 21 日 | 2021 年 7 月 20 日 | 2021 年 7 月 19 日 | 2021 年 7 月 18 日 | 2021 年 7 月 17 日 | 2021 年 7 月 16 日 | 2021 年 7 月 15 日 | 2021 年 7 月 14 日 | 2021 年 7 月 13 日 | 2021 年 7 月 12 日 | 2021 年 7 月 11 日 | 2021 年 7 月 10 日 | 2021 年 7 月 9 日 | 2021 年 7 月 8 日 | 2021 年 7 月 7 日 | 2021 年 7 月 6 日 | 2021 年 7 月 5 日 | 2021 年 7 月 4 日 | 2021 年 7 月 3 日 | 2021 年 7 月 2 日 | 2021 年 7 月 1 日 | 2021 年 6 月 30 日 | 2021 年 6 月 29 日 | 2021 年 6 月 28 日 | 2021 年 6 月 27 日 | 2021 年 6 月 26 日 | 2021 年 6 月 25 日 | 2021 年 6 月 24 日 | 2021 年 6 月 23 日 | 2021 年 6 月 22 日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 1 | 1 | 3 | 0 | 1 | 4 | 0 | 0 | 0 | 0 | 0 | 1 | 3 | 2 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 2 | 0 | 0 | 2 | 2 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 2 | 1 | 1 | 0 | 1 |
Mac | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
README
WSL Build
一个用于在 WSL2 中创建构建系统的 Sublime Text 软件包。
它增加了一个 wsl_exec
目标,该目标
- 在 Windows 子系统 для Linux 2 中执行 Linux 命令
- 在变量中提供 Linux 路径,如
$unix_file
- 为 Linux 命令正确设置环境变量
执行和打印输出是通过 Sublime Text 的默认 exec
构建目标完成的。
安装
包控制
使用 包控制 安装是最简单的方法。列出的是 WslBuild
。
- 使用 ctrl+shift+P 或菜单项
工具 → 命令面板...
打开命令面板
- 选择
包控制:安装包
- 找到
WslBuild
并按 Enter
手动安装
- 下载适合您的 Sublime Text 构建的相应 WslBuild.sublime-package。
- 将其复制到 已安装包 目录
要找到 已安装包...
- 呼出 菜单 > 首选项 > 浏览包...
- 导航到父文件夹
克隆仓库
您可以将此仓库克隆到您的 Sublime Text/Packages
注意
要找到 包 文件夹,请呼出 菜单 > 首选项 > 浏览包…
macOS
cd ~/Library/Application\ Support/Sublime\ Text/Packages/
git clone https://github.com/SublimeText/WslBuild.git
Linux
cd ~/.config/sublime-text/Packages
git clone https://github.com/SublimeText/WslBuild.git
Windows
cd "%APPDATA%\Sublime Text\Packages"
git clone https://github.com/SublimeText/WslBuild.git
用法
定义一个构建
设置 "target": "wsl_exec"
和 "cancel": {"kill": true}
以能够取消一个命令。
注意
有关定义 Sublime Text 构建的更多信息,请参阅 官方文档
必需键
wsl_cmd
设置 "wsl_cmd"
而不是 "cmd"
。通过 WSL 执行命令数组。
可以是 字符串
或 字符串列表
。
注意
例如,变量 $file 有 $unix_file 与 Unix 风格路径相对应。
可选键
wsl_working_dir
使用 "wsl_working_dir"
而不是 "working_dir"
。
注意
例如,变量 $file 有 $unix_file 与 Unix 风格路径相对应。
wsl_env
使用 "wsl_env"
而不是 "env"
来设置可让 Linux 命令访问的环境变量。
注意
例如,变量 $file 有 $unix_file 与 Unix 风格路径相对应。
环境变量可以通过转换标志来附加,以指定 WSL 如何处理其值。
"MY_PATH/p": "C:\\Path\\to\\File"
会转换为
- 当运行 Unix 命令时
MY_PATH=/mnt/c/Path/to/File
- 当运行 Windows 命令时
MY_PATH=C:\\Path\\to\\File
标志 | 描述 |
---|---|
/p |
此标志指示应将路径在 WSL 路径和 Win32 路径之间进行转换。注意以下示例中如何在 WSL 中设置 var,使用 /p 标志将其添加到 WSLENV,然后从 cmd.exe 读取变量,路径会相应转换。 |
/l |
此标志指示值是路径列表。在 WSL 中,它是以冒号分隔的列表。在 Win32 中,它是以分号分隔的列表。 |
/u |
此标志指示值仅在从 Win32 运行 WSL 时包含。 |
/w |
请注意,它不会自动转换路径——我们需要指定 /p 标志来执行此操作。 |
有关更多信息,请访问:https://devblogs.microsoft.com/commandline/share-environment-vars-between-wsl-and-windows
示例构建系统以在 WSL 中运行文件
{
"target": "wsl_exec",
"cancel": {"kill": true},
"wsl_cmd": "./$unix_file",
"wsl_working_dir": "$unix_file_path",
}
示例在 WSL 中对 Rails 应用程序进行构建
"build_systems": [
{
"name": "Run Current Spec",
"target": "wsl_exec",
"cancel": {"kill": true},
"wsl_cmd": "bundle exec rake spec"
"wsl_env": {
"SPEC/p": "$file"
},
"wsl_working_dir": "$unix_folder"
},
{
"name": "Run All Specs",
"target": "wsl_exec",
"cancel": {"kill": true},
"wsl_cmd": [
"bundle", "exec", "rake", "spec"
],
"wsl_working_dir": "$unix_folder",
},
{
"name": "Run Database Migrations",
"target": "wsl_exec",
"cancel": {"kill": true},
"wsl_cmd": [
"bundle", "exec", "rake", "db:migrate"
],
"wsl_working_dir": "$unix_folder"
}
]
变量
默认变量
所有默认变量都以未转换形式提供,以防在 WSL2 中执行 Windows 命令。
变量 | 描述 |
---|---|
$packages |
指向 Packages/ 文件的路径。 |
$platform |
Sublime Text 运行的平台:“windows”、“osx” 或 “linux”。 |
$file |
活动视图中文件的完整路径,包括文件夹。 |
$file_path |
包含活动视图中文件的文件夹的路径。 |
$file_name |
活动视图中文件的文件名(不包括文件夹路径)。 |
$file_base_name |
活动视图中文件的文件名,不包括扩展名。 |
$file_extension |
活动视图中文件名的扩展名。 |
$folder |
侧边栏中第一个打开的文件夹的完整路径。 |
$project |
当前项目文件的完整路径。 |
$project_path |
包含当前项目文件的文件夹的路径。 |
$project_name |
当前项目文件的文件名(不包括文件夹路径)。 |
$project_base_name |
当前项目文件名,不包括扩展名。 |
$project_extension |
当前项目文件的扩展名。 |
参见:https://text.sublime.net.cn/docs/build_systems.html#variables
Unix 变量
为 WSL 中执行的 Unix 命令提供转换的路径变量。
变量(Unix 风格) | 原始变量(Windows 风格) |
---|---|
$unix_file |
$file |
$unix_file_path |
$file_path |
$unix_folder |
$folder |
$unix_packages |
$packages |
$unix_project |
$project |
$unix_project_path |
$project_path |
致谢
灵感来源于