Intellij 通过自定义插件以编程方式打开和布局文件
Intellij open and lay out file programmatically through custom plugin
我最近开始参加 HackerRank 比赛,我想实施一个 intellij 插件来优化我的编码环境,以迎接即将到来的比赛。我需要的很简单:当我的解决方案未能通过测试用例时,以编程方式打开 3 个自定义文件(输入、预期和实际)。
为了更好地了解上下文,这是我面临的确切情况:
- 我尽快为给定的问题编写解决方案并将其提交到 HackerRank 平台
- 如果我的提交被拒绝,我会在 "input" 目录下生成数百个随机的小测试用例。
- 我编写了一个强力算法来解决每个生成的输入,并将每个生成的测试用例的预期输出保存在 "expected" 目录下。
- 我 运行 一个预先编写的正确性测试用例,它自动为每个输入文件调用我的有效解决方案(被拒绝)并将输出文件写入 "actual" 目录下。当实际与任何给定生成的测试用例的预期不匹配时,测试失败。
上面的问题是,每当测试失败时,我都必须手动查找并打开输入、预期和实际输入,然后使用垂直拆分将它们并排放置在代码旁边,这样我就可以方便地进行调试(请参阅下)
理想情况下,只要检测到故障,我就会以编程方式打开我预先编写的测试用例中的所有 3 个文件,并让它们 laid-out 如上面的屏幕截图所示。使用自定义编写的插件可以实现这样的事情吗,IntelliJ 是否允许以编程方式打开文件?
我做过类似的东西。一个控制台过滤器,它添加了用于打开 Diff window 的超链接,我在其中将来自控制台的 xml/json 与文件进行了比较。
自定义它以制作 3 向差异应该很容易,甚至可以自动打开它而不是使用控制台超链接。
或者如果你真的想打开编辑器,然后在intellij-community中找到OpenFileDescriptor
的用法并查看以下插件:https://github.com/dkandalov/tab-shifter
我最近开始参加 HackerRank 比赛,我想实施一个 intellij 插件来优化我的编码环境,以迎接即将到来的比赛。我需要的很简单:当我的解决方案未能通过测试用例时,以编程方式打开 3 个自定义文件(输入、预期和实际)。
为了更好地了解上下文,这是我面临的确切情况:
- 我尽快为给定的问题编写解决方案并将其提交到 HackerRank 平台
- 如果我的提交被拒绝,我会在 "input" 目录下生成数百个随机的小测试用例。
- 我编写了一个强力算法来解决每个生成的输入,并将每个生成的测试用例的预期输出保存在 "expected" 目录下。
- 我 运行 一个预先编写的正确性测试用例,它自动为每个输入文件调用我的有效解决方案(被拒绝)并将输出文件写入 "actual" 目录下。当实际与任何给定生成的测试用例的预期不匹配时,测试失败。
上面的问题是,每当测试失败时,我都必须手动查找并打开输入、预期和实际输入,然后使用垂直拆分将它们并排放置在代码旁边,这样我就可以方便地进行调试(请参阅下)
理想情况下,只要检测到故障,我就会以编程方式打开我预先编写的测试用例中的所有 3 个文件,并让它们 laid-out 如上面的屏幕截图所示。使用自定义编写的插件可以实现这样的事情吗,IntelliJ 是否允许以编程方式打开文件?
我做过类似的东西。一个控制台过滤器,它添加了用于打开 Diff window 的超链接,我在其中将来自控制台的 xml/json 与文件进行了比较。
自定义它以制作 3 向差异应该很容易,甚至可以自动打开它而不是使用控制台超链接。
或者如果你真的想打开编辑器,然后在intellij-community中找到OpenFileDescriptor
的用法并查看以下插件:https://github.com/dkandalov/tab-shifter