在配置启动 IntelliJ 之前无法将外部工具添加到 运行
Unable to add External Tool to run Before Configuration Launch IntelliJ
简介
我环顾四周,没有看到其他人遇到我的问题。
基本上,我想要 运行 一个 start.bat 文件来启动我的服务器,然后再开始我的调试会话。我目前在 IntelliJ 配置中进行调试并且运行良好。问题是在我的配置选项中,我似乎无法将“外部工具”任务添加到“启动前”部分。我之前可以在这里添加 Maven 任务。但是,当我按照以下步骤操作时,没有添加“start.bat”。
首先,我进入“设置”->“工具”->“外部工具”以添加我的 Spigot-Server 工具,该工具基本上调用测试服务器目录中的 start.bat 文件。
Snippet of External Tools
其次,我进入我的“Debug Spigot”配置,在底部,我看到了“Before Launch”部分。
Snippet of Spigot Debug options
我点击那个部分里面的+来添加一个新任务,我点击“外部工具”
Snippet of adding External Tools Task
然后我确保我的 Spigot-Server 任务被选中。
Snippet of select external tool
然后一旦我点击确定,window 关闭但我没有看到新任务添加到启动前部分。它看起来和我点击任何东西之前一样。我也没有在 IntelliJ
底部看到任何状态消息
我基本上希望任务“Spigot-Server”显示在“启动前”部分下。这基本上会启动服务器,一旦服务器完全启动,它就会启动调试配置。
我认为这可能是 IntelliJ 的问题 UI。我 searched IntelliJ's issue tracker 但找不到任何匹配的。
我想知道在 IntelliJ 中是否有解决此设置的方法>
非常感谢任何帮助! :D
我通过在 CrazyCoder 的帮助下发现的一些变通办法实现了我的目标。我发现这个 Whosebug question 告诉我有关批处理插件的信息。
我能够为绕过 CrazyCoder 提到的限制的包装器批处理文件创建 Batch 运行 配置。他说,即使我确实在启动调试之前在我的服务器 运行s 上进行了设置,我的调试也永远不会启动。这是因为终端进程需要在下一个任务开始前退出。
为了解决这个问题,这是我创建的包装器批处理文件。
@echo OFF
START "Spigot-Server" /D C:\Users\rocke\Documents\Programming\Minecraft\Spigot\capture-the-carrot\test-server "start.bat"
ping -n 3 127.0.0.1 >nul
它基本上使用“START”命令异步地运行任务,然后等待 2 秒。这是因为我需要做的就是等待 start.bat 命令到 运行 的第一部分,以便它建立远程调试。然后包装器在 2 秒后结束(3 代表我要等待的秒数 +1)。这允许启动调试过程,同时确保服务器已设置远程调试!
如果有人想这样做,我将只分享我的配置截图。
Maven Build Configuration
Spigot Server Start Configuration
Remote Debugging Configuration
这种设置方式是一旦我 运行 远程调试配置,它就有一个 Spigot 服务器的“启动前”任务。 Spigot 服务器也有 Maven 构建项目的“启动前”任务。
所以我的 Maven 构建项目 运行s,然后是我的 Spigot 服务器包装器 运行s 并在 2 秒后终止,然后是我的调试配置 运行s!
如果您对使用 spigot 进行远程调试有任何疑问,请使用此资源:https://www.spigotmc.org/wiki/intellij-debug-your-plugin/
简介
我环顾四周,没有看到其他人遇到我的问题。
基本上,我想要 运行 一个 start.bat 文件来启动我的服务器,然后再开始我的调试会话。我目前在 IntelliJ 配置中进行调试并且运行良好。问题是在我的配置选项中,我似乎无法将“外部工具”任务添加到“启动前”部分。我之前可以在这里添加 Maven 任务。但是,当我按照以下步骤操作时,没有添加“start.bat”。
首先,我进入“设置”->“工具”->“外部工具”以添加我的 Spigot-Server 工具,该工具基本上调用测试服务器目录中的 start.bat 文件。
Snippet of External Tools
其次,我进入我的“Debug Spigot”配置,在底部,我看到了“Before Launch”部分。
Snippet of Spigot Debug options
我点击那个部分里面的+来添加一个新任务,我点击“外部工具”
Snippet of adding External Tools Task
然后我确保我的 Spigot-Server 任务被选中。
Snippet of select external tool
然后一旦我点击确定,window 关闭但我没有看到新任务添加到启动前部分。它看起来和我点击任何东西之前一样。我也没有在 IntelliJ
底部看到任何状态消息
我基本上希望任务“Spigot-Server”显示在“启动前”部分下。这基本上会启动服务器,一旦服务器完全启动,它就会启动调试配置。
我认为这可能是 IntelliJ 的问题 UI。我 searched IntelliJ's issue tracker 但找不到任何匹配的。
我想知道在 IntelliJ 中是否有解决此设置的方法>
非常感谢任何帮助! :D
我通过在 CrazyCoder 的帮助下发现的一些变通办法实现了我的目标。我发现这个 Whosebug question 告诉我有关批处理插件的信息。
我能够为绕过 CrazyCoder 提到的限制的包装器批处理文件创建 Batch 运行 配置。他说,即使我确实在启动调试之前在我的服务器 运行s 上进行了设置,我的调试也永远不会启动。这是因为终端进程需要在下一个任务开始前退出。
为了解决这个问题,这是我创建的包装器批处理文件。
@echo OFF
START "Spigot-Server" /D C:\Users\rocke\Documents\Programming\Minecraft\Spigot\capture-the-carrot\test-server "start.bat"
ping -n 3 127.0.0.1 >nul
它基本上使用“START”命令异步地运行任务,然后等待 2 秒。这是因为我需要做的就是等待 start.bat 命令到 运行 的第一部分,以便它建立远程调试。然后包装器在 2 秒后结束(3 代表我要等待的秒数 +1)。这允许启动调试过程,同时确保服务器已设置远程调试!
如果有人想这样做,我将只分享我的配置截图。
Maven Build Configuration
Spigot Server Start Configuration
Remote Debugging Configuration
这种设置方式是一旦我 运行 远程调试配置,它就有一个 Spigot 服务器的“启动前”任务。 Spigot 服务器也有 Maven 构建项目的“启动前”任务。
所以我的 Maven 构建项目 运行s,然后是我的 Spigot 服务器包装器 运行s 并在 2 秒后终止,然后是我的调试配置 运行s!
如果您对使用 spigot 进行远程调试有任何疑问,请使用此资源:https://www.spigotmc.org/wiki/intellij-debug-your-plugin/