ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

WslBuild

existentialmuttDeathAxe ST3 Win

一个用于在 WSL2 中运行构建系统的 Sublime Text 软件包

标签 构建系统

详细信息

  • 0.2.0
  • github.​com
  • github.​com
  • 11 个月前
  • 13 分钟前
  • 2 年前

安装次数

  • 总计 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

源代码
raw.​githubusercontent.​com

WSL Build

一个用于在 WSL2 中创建构建系统的 Sublime Text 软件包。

它增加了一个 wsl_exec 目标,该目标

  • 在 Windows 子系统 для Linux 2 中执行 Linux 命令
  • 在变量中提供 Linux 路径,如 $unix_file
  • 为 Linux 命令正确设置环境变量

执行和打印输出是通过 Sublime Text 的默认 exec 构建目标完成的。

安装

包控制

使用 包控制 安装是最简单的方法。列出的是 WslBuild

  1. 使用 ctrl+shift+P 或菜单项 工具 → 命令面板... 打开 命令面板
  2. 选择 包控制:安装包
  3. 找到 WslBuild 并按 Enter

手动安装

  1. 下载适合您的 Sublime Text 构建的相应 WslBuild.sublime-package
  2. 将其复制到 已安装包 目录

要找到 已安装包...

  1. 呼出 菜单 > 首选项 > 浏览包...
  2. 导航到父文件夹

克隆仓库

您可以将此仓库克隆到您的 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"

会转换为

  1. 当运行 Unix 命令时 MY_PATH=/mnt/c/Path/to/File
  2. 当运行 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

致谢

灵感来源于