#unity #emacs #rider #emacsclient #jetbrains

应用 rider2emacs

将 JetBrains Rider 调用转换为 emacsclient 调用(用于 Unity)

2 个版本

0.1.1 2022 年 8 月 1 日
0.1.0 2022 年 7 月 31 日

文本编辑器 中排名第 186

GPL-3.0 许可证

10KB
130

rider2emacs

是什么?

rider2emacs 是一个命令行实用程序,它将 JetBrains Rider 调用转换为 emacsclient 调用。

为什么?

Unity 游戏引擎编辑器仅官方支持四种 IDE/编辑器:MonoDevelop、Visual Studio、Visual Studio Code 和 JetBrains Rider。 只有 当 Unity 编辑器配置为使用上述编辑器之一打开源文件时,它才会为您生成 sln 和 csproj 文件。如果您想使用任何其他编辑器,包括最好的文本编辑器 Emacs,以及 OmniSharp LSP,您必须说服 Unity 您正在使用上述列出的四种编辑器之一。

更糟糕的是:上述每个编辑器的支持都完全不同,OnniSharp 正确解释这些项目和解决方案文件的能力也是如此。其中最好的似乎是 Rider 项目生成。

为什么不用 shell 脚本或其他东西呢?

将其作为 shell 脚本将使 Windows 用户几乎无法使用。出于可移植性和减少依赖树的原因,我的第一次尝试是用 C 语言完成的。然而,由于需要在表面上非常简单的适配器中进行大量的 *printf* 调用、字符串操作和特定于平台的代码,这让我感到不舒服。不幸的是,这意味着安装 unity.el 的过程比我希望的稍微复杂一些。

用法

既然我已经解释了为什么这个工具最初甚至需要存在,以下是使用它的方法。

通过以下方式安装 rider2emacs:

cargo intall rider2emacs

在 Unity 中,导航到 编辑->首选项...,在左侧面板中选择 外部工具 选项卡,并在 外部脚本编辑器 的下拉菜单中选择 浏览...

导航到 rider2emacs 可执行文件。它应该已经安装在 $CARGO_INSTALL_ROOT/bin,默认情况下是 $HOME/.cargo/bin。有关更多详细信息,请参阅 关于 cargo install 的文档。

由于文件以 rider 开头,Unity 将被欺骗,认为它实际上是 JetBrains Rider。恭喜!你现在应该可以通过 emacsclient 在 Unity 中打开任何源文件。请确保您正在运行 Emacs 守护进程。请参阅“(emacs)Emacs 服务器”,可通过在 Emacs 手册中的“高级功能”部分下的 {C-h r} 访问。

故障排除

emacsclient(在 Windows 上为 emacsclientw.exe)必须位于您的 $PATH 中,以便 rider2emacs 能够正确调用它。在非 Windows 平台上,emacsclient 通过 /bin/sh 调用,以便考虑在您的 .profile 和类似文件中设置的环境变量。这对于 macOS 来说很重要,因为它不像 Linux/FreeBSD 那样为 GUI 会话提供一种健壮的方式来设置 $PATH

另请参阅

依赖关系

~140KB