问题标签 [intellij-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Intellij平台中的最小应用
是否可以使用 Intellij 平台构建一个精简的应用程序,就像在这个 Eclipse RCP 教程中一样?我知道建议将此平台仅用于 IDE,我愿意坚持这一点,但我想限制用户只能使用我批准的功能,并且禁止使用例如。导入一个maven项目。
java - IntelliJ IDEA 插件:跳转到自定义 xml 的声明
我有基于组件的应用程序。所有组件都在 XML 中定义。组件可以在不同的 xml 文件中定义。
现在我正在尝试编写一个插件,以便我可以从子组件跳转到父组件。在上面的示例中,组件类型“x”和名称“z”扩展了组件类型“x”和名称“y”。
通过浏览来自不同插件的一些源代码,我能够添加一个菜单项并在插入符号下抓取内容。
比如说,如果我的插入符号在第二个组件中的“x:y”下,我可以设置 x 和 y,这样至少我可以知道要查找的组件类型和组件名称。
但是当我按下 ctrl 并搜索组件并在 ctrl+单击时跳转到组件的声明时,我想在扩展下的内容下划线,即“x:y”,就像我们跳转到类的声明一样。
我想要一些指导,比如我应该看哪个课,我应该怎么走或类似的实现。
谢谢
intellij-idea - Intellij IDEA插件中将虚拟文件同步到物理文件
我正在为 Intellij IDEA 实现插件,该插件需要在执行操作之前保存文件。动作是shell命令,它需要文件名作为命令行参数传递。
AFAIK Idea 在帧停用时保存(同步)文件,因此如果我右键单击文件,然后单击我的操作 - 将使用旧版本的文件。如果我转到其他窗口,返回 Idea 并单击我的操作 - 将使用文件的当前版本。
我已经阅读了有关 Virtual File System 的文档,发现我可以触发从文件系统加载文件(例如VirtualFileManager.syncRefresh()
or VirtualFileManager.asyncRefresh()
)。我试过这个希望它会工作,但它没有。
问题是:如何手动(以编程方式)保存文件?
intellij-idea - IntelliJ 插件:如何导入设置
在 IntelliJ 12(也可能是更早的版本)中,可以导入之前导出的带有设置的 jar。
我想两个写一个插件来指定这个设置jar可以自动导入的位置。这将允许您将一个 jar 放在您的存储库中,并以这种方式与您的团队共享。
由于缺少用于 open-api 的在线 javadocs,我很难弄清楚如何做到这一点。
插件框架中的哪个类允许我导入设置?
java - IntelliJ 插件:从项目视图导航到文件而不触发 AutoScrollFromSource?
我正在编写一个 IntelliJ IDEA 插件,我正在尝试从项目窗格导航到文件而不触发“autoscrollfromsource”功能(即使它已打开)。
我尝试暂时禁用 autoscrollfromsource (然后重新启用它),但这次尝试没有成功。
在下面的代码中,加载文件似乎需要一些时间,并且到那时 autoscrollfromsource 已经重新启用。
有没有更好的方法来导航到我的节点,而不触发 autoscrollfromsource?
感谢任何专业提示:)
更新 1
我将代码跟踪到 openapi 类OpenFileDescriptor
,在这里:
基本上,我希望能够执行此navigate
方法,而不会从源代码触发自动滚动。
intellij-idea - 自定义语言的 BNF 规则语法高亮
我正在尝试使用 Grammar-Kit 插件为 IntelliJ 开发自定义语言插件。我可以轻松地为定义的标记提供语法突出显示,但我无法弄清楚如何在元素或标记父级别突出显示。
这是一个快速而肮脏的示例语言 - https://github.com/carymrobbins/intellij-plugin-example
解决方案
正如@ignatov 建议的那样,扩展 Annotator 类并将其注册到您的plugin.xml
. 在下面的示例中,我们command
通过定义visitCommand
方法来突出显示元素。
java - IntelliJ Idea 插件无法在 document.setText 上撤消
我正在为 IntelliJ Idea 13 开发一个插件。我做了一些更改beforeDocumentSaving
并使用document.setText
:
这很好用,我唯一的问题是,当这个插件运行时,我想撤消更改,我得到以下错误消息:
有吗Idea
?:-)
java - 在 IntelliJ 插件构建期间运行代码生成器
我正在开发一个作为 IntelliJ 插件分发的项目。项目所需的一些源代码是在编译 Java 源文件之前由代码生成步骤创建的。这些生成的文件没有放在源代码管理中。
我有这个代码生成器的 Ant 任务和一个 Maven 插件,它可靠地将代码生成步骤集成到这两个构建系统中的任何一个中。
IntelliJ 如何在 IntelliJ 插件项目的构建过程中支持代码生成?
junit - 我可以从 intellij 插件开始 junit 测试吗
我有一个存储我的测试结果的数据库。我有兴趣为 intellij13 编写一个插件,它可以让我使用 JUnit 运行配置从数据库重新运行测试失败。我找不到任何关于此的文档。
我想看一些方法的例子,比如:
public void runTest(String testClass, String testName) {...}
intellij-idea - 在 IntelliJ 12 声明下添加目录路径 Library 'LibraryName' 未使用且没有效果
我维护一个 IntelliJ 插件(代号一),我们需要控制用户类路径。我通过插件或通过转到此处手动添加类路径:
然后在我选择 Java 的地方按 + 号:
然后选择类:
这似乎工作正常:
但是完成和其他此类功能不起作用,当我返回时,条目被禁用,我收到以下错误消息:
这真的没有告诉我什么吗?
一种解决方法是在文本编辑器中打开 .iml 文件,并将以下内容添加到 orderEntry 列表中:
不幸的是,这不是很实用,它只能解决我遇到的一些问题。任何方向或提示都会在这里受到赞赏。
编辑:添加首选项 UI 的屏幕截图:
第二次编辑:模块部分的屏幕截图