#godot #github #repository #run #projects #applications #command-line

app godot-run

快速方便地从 GitHub 运行 Godot 项目

1 个不稳定版本

0.1.0 2024 年 8 月 1 日

91游戏开发

Download history 112/week @ 2024-07-27 8/week @ 2024-08-03

每月 120 次下载

MIT 许可证

12KB
141

godot-run

在终端上轻松运行和测试你在 GitHub 上看到的 Godot 应用程序。

用法 🛠️

godot-run 是一个简单的命令行工具,可以快速在终端上运行和测试你在 GitHub 上看到的 Godot 应用程序。使用它很简单

Usage: godot-run [OPTIONS] <repository>

Arguments:
  <repository>  The repository to clone from GitHub (ex: "github.com/yunusey/gosu")

Options:
      --godot-path <GODOT_PATH>
          The path to the Godot executable (tries to find it atomatically, if not specified) (ex: --godot-path="/home/yunusey/.nix-profile/bin/godot4") [default: ]
  -e, --extra-arguments <EXTRA_ARGUMENTS>
          Extra arguments to pass to the Godot executable (learn more at https://docs.godotengine.org/en/stable/tutorials/editor/command_line_tutorial.html) (ex: --extra-arguments="--resolution 1920x1080") [default: ]
  -h, --help
          Print help
  -V, --version
          Print version

仓库克隆 🚚

关于 godot-run 的一个优点是,你可以给它一个仓库的子路径,它将完美地工作(希望如此 :D)。例如,你可以运行 godot-run github.com/godotengine/godot-demo-projects/tree/master/gui/theming_override。只需确保你提供的子路径包含 project.godot 文件。仓库的格式可以是以下任何一种

明白了!只需以某种方式写入它,希望 godot-run 会处理其余的。

[!warning] 目前,godot-run 无论是否指定了子路径,都会克隆整个仓库。

[!warning] 我还没有实现缓存系统,因为我只为基本用例编写了程序;但如果你感兴趣,请通过 创建一个问题 或自行实现它,别忘了 提交一个 PR

Godot 可执行文件 🤖

为了运行程序,我们需要 Godot 可执行文件,你可以通过指定 --godot-path 参数将其提供给程序。如果你没有指定,程序将尝试通过查看你的 PATH 路径来查找可执行文件。然而,在像 Windows 这样的操作系统中,你可能需要手动传递它,因为它可能不知道它在哪。

传递额外的参数给 Godot 📝

好吧,很明显,我们只是在启动一个运行 Godot 的子进程,您可以在这里找到更多关于此的信息。您可能还希望,例如,以全屏模式运行程序。您怎么做?实际上非常简单!您只需运行以下命令

godot-run github.com/yunusey/gosu --extra-arguments="--fullscreen"

未来计划 📚

  • 添加缓存系统

    • 添加标志 --save-dir 将仓库保存到特定目录
    • 添加标志 --no-cache 禁用缓存
    • 检查远程仓库的最后提交,如果确实是相同的,则不再克隆它
    • 添加标志 --update-cache 不论最后提交是什么都更新缓存
  • 如果可能,只需克隆子路径而不是整个仓库。

参考

我想感谢所有这些在项目开发中使用过的库和软件

  • Godot 游戏引擎,这是有史以来最棒的引擎
  • Clap 用于参数解析
  • Git2 用于 Rust 中的 libgit2 绑定
  • RegEx 用于解析仓库路径
  • Which 用于查找 Godot 可执行文件的路径

依赖项

~13–24MB
~442K SLoC