Intellij IDEA 中的 Java 预处理支持

标签 java ide preprocessor intellij-idea

有人知道 Intellij IDEA 中的 Java 预处理支持吗?可能有一些第三方插件?

举个例子:这是一段为 Netbeans 编写的 Java 代码(支持预处理):

//#if JSR82
//# import javax.bluetooth.*;
//#endif

Netbeans 内置预处理器会解析这些//# 键,并根据定义的预处理器键对代码片段进行注释或取消注释。

我希望 Intellij IDEA 中有类似的东西。

提前致谢

最佳答案

(这对于评论来说太长了,因此答案并不是真正的答案,而是更多的评论)。

我广泛使用 Java 预处理器和 IntelliJ IDEA。我不知道有任何插件/附加组件允许使用预处理器(但这很棒)。

除此之外,当讨论 Java 和预处理器时,人们总是会指出“这样的事情不存在”。

当然,其中有几个是存在的。例如,这里有一篇很酷的诺基亚(您可能听说过该公司,他们生产一些 Java 手机)文章,名为:“使用预处理器指令进行 Java ME 移植”

事实是:Java 从未兑现其 WORA promise ,尤其是在 J(2)ME 世界中。

http://wiki.forum.nokia.com/index.php/Java_ME_Porting_using_preprocessor_directives

使用自定义(不幸的是自定义)预处理器和代码生成器的另一个非常有效的理由可以在(优秀的)Trove API 源代码中看到:基本上,这是避免对所有 Java 原语重复相同代码的唯一方法等

我还听说有人想要生成“相同”.jar 的不同版本,而不将所有代码放入生成的各种 .jar 中。当然,这可以通过“Java 友好的方式”使用令人惊奇的解决方法来完成......但在这种情况下,一些预处理也可以节省时间。

要点是:Java 预处理器有效的情况。我倾向于喜欢诺基亚,因为很难与之抗衡;)

关于Intellij IDEA 中的 Java 预处理支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4556864/

相关文章:

python - 用于 Python 的在线 IDE

xcode - 如何在同一源文件中有条件地编译特定于版本的 Swift(1.2 vs 2.0)代码?

c - 使用 -save-temps 构建内核 - 这些 9 MB 的 *.i 文件是全部吗?

java - 为什么Spring在找不到默认构造函数时抛出异常

java.lang.NoClassDefFoundError : org/apache/poi/hssf/usermodel/HSSFWorkbook 错误

html - 提供一个 html 文件和 css 文件,是否有任何 IDE 可以找到并删除未使用的 css 类?

asp.net-mvc - 有使用 SharpDevelop 构建 ASP.NET MVC 应用程序的经验吗?

python - 在 Django 的模板加载器中预处理 SHPAML?

java - 将 float 传递到仅接受 int 的构造函数 - 无法修改构造函数

java - 从 java 访问一个字符设备文件