带插件的 Android Studio 和 Intellij Idea 之间的区别? [英] Difference between Android Studio and Intellij Idea with plugins?

查看:43
本文介绍了带插件的 Android Studio 和 Intellij Idea 之间的区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个现有的 Java 代码库,我们在其中使用了 Intellij 思想进行开发.

我们正在构建一个 Android 应用程序,我们将在其中与预先存在的代码和资源库共享代码和其他资源.

由于 Android Studio 似乎主要是 Intellij 的修改版本,我的问题是 Android Studio 是否具有完全不可缺少的特定功能?不相容?标准"?与 Intellij Idea 社区还是终极版?两者是否可以通过适当的插件集互换?

如果我们将 Intellij Idea 与各种 Android 支持插件一起使用,这些插件与 android studio 附带的插件是否相同?有了这套插件,程序实际上可以互换吗?

(我确实注意到ant"支持不在 Android Studio 中.虽然我需要的是一些从 IDE 调用可执行文件的能力,以及一组用于各种命令的菜单可配置条目 - 我现在使用 intellij ant 支持来做这是因为它可用)

Intellij 的发布是否总是滞后于 Android Studio,因为它是 Google 的官方"工具.

如果它们明显不兼容,那么在两个系统之间使用公共资源和工具的最简单方法是什么?

解决方案

2019 年 11 月更新的答案

过去,Android Studio 中没有安装了 Android 插件的 IntelliJ IDEA 中不存在的功能.然而,自成立以来,Android Studio 已经发展壮大,并且与 IntelliJ IDEA 越来越不同,尤其是最近.现在 Android Studio 中捆绑了一些与 IntelliJ IDEA 不兼容的插件.一个这样的例子是

基本上,Android Studio 比 IntelliJ IDEA 对 Android 有更多的烙印".而且由于它只是一个 Android IDE,它可以更加专注".正如我所提到的,在 Android Studio 中没有什么是在 Intellij IDEA 中做不到的.但事实并非如此.您可以在 IntelliJ IDEA(社区版和终极版)中执行许多(非 Android)事情,而在 Android Studio 中则无法做到.

关于 Android Studio 是否可以使用 IntelliJ IDEA 插件的问题,这将取决于插件以及它利用的组件(在 IntelliJ 插件 API 内).当您编写插件时,您必须(在您的插件描述符中)声明您使用的 API 依赖项.一些示例是 com.intellij.modules.langcom.intellij.modules.javaAntSupportGit4Idea>.有数十种(如果不是数百种)可能性 - 包括其他插件.因此,如果插件(或其依赖项之一)最终使用了 Android Studio 中未包含的插件 API 中的某些内容,则该插件将无法工作.例如,我编写的一个插件(与移动开发完全无关),在 JetBrains 插件页面上列出与 Android Studio 兼容,因为它仅依赖于 com.intellij.modules.langcom.intellij.modules.java.因此,虽然它可以双向进行,但更有可能的是(由于 IntelliJ IDEA 安装了更多组件)一个插件可能仅在 IntelliJ IDEA 中兼容,因为它依赖于该插件独有的某些东西.

<块引用>

Intellij 的发布是否总是滞后于 Android Studio,因为它是 Google 的官方"工具.

它可以双向进行.JetBrains 可能会添加一些需要时间才能进入 Android Studio 的东西;并且 Google 可能会添加一些需要时间才能实现 IntelliJ IDEA 的东西.然而,最有可能的是,后者将更为普遍.但是,我不知道延迟多长时间.这篇 JetBrians 博客文章可能在这方面有所帮助:IntelliJ IDEA 和 Android Studio 常见问题解答

我个人的建议是:如果您知道自己只会进行 Android 开发,那么请使用 Android Studio.此外,新的 Android 开发人员可能会发现 Android Studio 更适合,因为大多数文档和教程将显示它,并且在 IntelliJ IDEA 中可能偶尔会有细微差别(例如某些内容位于菜单中的位置).但是,如果您将使用 Java、Kotlin、Groovy 和/或 Scala 或其他语言(Python、php、html、css、JavaScript 等)或任何服务器端(或企业") 代码 - 用于您的 Android 应用程序或其他工作,然后使用 IntelliJ IDEA.

编辑 2018 年 8 月 4 日进行了一些澄清并添加了屏幕截图.

已于 2019 年 11 月 25 日更新以添加新信息.

We have an existing java code base where we use intellij idea for development.

We are building an android application where we will be sharing code and other resources with the pre-existing code and resource base.

As Android Studio seems mainly to be a modified version of Intellij my question is are there totally specific features Android Studio has that are indispensable? Incompatible? "Standard"? vs Intellij Idea community or ultimate? Are the two interchangeable with a proper plugin set?

If we were to use Intellij Idea with the various Android support plugins, are these plugins the same as what comes with android studio? With this set of plugins will the programs virtually interchangeable?

(I did notice "ant" support is not in Android Studio. though all I need is some ability to invoke executables from the IDE with a set of menu configurable entries for various commands - I now use the intellij ant support to do this because it was available)

Will Intellij always be lagging releases being Android Studio as it is Google's "Official" Tool.

If they are significantly incompatible, what is the easiest way to use common resources and tools between the two systems?

解决方案

Updated Answer November 2019

In the past, there was no functionality in Android Studio that was not present in IntelliJ IDEA with the Android plugin installed. However, since its inception, Android Studio has grown and has diverged more and more from IntelliJ IDEA, especially recently. There are now some plugins bundled in Android Studio that are not compatible with IntelliJ IDEA. One such example is the Android APK Support which was first released in June 2019. Moreover, there are some Android based plugins bundled with Android Studio that are not even listed on the JetBrains Plugin site (at this time) such as "Android Games", "Android NDK Support", "App Links Assistant", among others.

Thus at this time, it is likely best to use Android Studio for Android Projects, and use IntelliJ IDEA for any ancillary development, such as server side applications.

How to use both easily

The JetBrains Toolbox App makes it easy to install and use the two IDEs side by side. It also makes upgrading (and rolling back if ever desired) super easy as well. The toolbox did not support Android Studio when it first came out years ago. And thus picking one or the other was more of an "issue". Additionally, by using the Settings Repository Plugin (bundled in both IDEs) you can easily keep settings between the two IntelliJ Platform IDEs in sync. (See Share settings through a settings repository in the IntelliJ IDEA documentation.) Thus, between the Toolbox App and The Settings Repository Plugin, it's convenient (IMHO) to just use both.


Previous (Outdated) Answer Form June 2015

First, a disclaimer... I have only lightly used Android Studio as I do all my work in IntelliJ IDEA. But I have been an avid user of IntelliJ IDEA since 2003.

As Android Studio seems mainly to be a modified version of Intellij my question is are there totally specific features Android Studio has that are indispensable? Incompatible? "Standard"? vs Intellij Idea community or ultimate? Are the two interchangeable with a proper plugin set?

The quick answer is there is nothing you can do in Android Studio that you cannot do in IntelliJ IDEA (Community or Ultimate) with the Android Plugin installed and enabled. Here is a screenshot from the IntelliJ IDEA features matrix that makes that point:

Basically, Android studio has more "branding" for Android than IntelliJ IDEA. And since it is just an Android IDE, it can be more "focused". As I mentioned, there is nothing you can do in Android Studio that you can't do in Intellij IDEA. But the opposite is not true. There are a number of (non-Android) things you can do in IntelliJ IDEA (both the community and ultimate editions) that you cannot do in Android Studio.

Regarding the question on whether or not Android studio can use IntelliJ IDEA plugins, that's going to depend on the plugin and what components (within the IntelliJ plugin API) it leverages. When you write a plugin, you have to declare (in your plugin descriptor) what API dependencies you use. Some examples are com.intellij.modules.lang, com.intellij.modules.java, AntSupport, and Git4Idea. There are dozens, if not hundreds, of possibilities - including other plugins. So if a plugin (or one of it dependencies) ends up using something in the plugin API that is not included in Android Studio, that plugin will not work. For example, one plugin I wrote (that has absolutely nothing to do with mobile development), lists on the JetBrains Plugin page as being compatible with Android Studio because it only depends on com.intellij.modules.lang and com.intellij.modules.java. So while it can go both ways, it is more likely that (due to IntelliJ IDEA having more components installed) a plugin may only be compatible in IntelliJ IDEA as a result of a dependency on something that is unique to that plugin.

Will Intellij always be lagging releases being Android Studio as it is Google's "Official" Tool.

It can go both ways. JetBrains may add things that take time to hit Android Studio; and Google may add things that take time to hit IntelliJ IDEA. It is most likely, however, the latter will be more prevalent. However, I do not know off hand how long that delay is. This JetBrians blog post may help in that regard: IntelliJ IDEA and Android Studio FAQ

My personal recommendations would be: If you know you are only going to be doing Android development, then go with Android Studio. Also new Android developers would likely find Android Studio a better fit since most documentation & tutorials will show it and there may be the occasional minor difference (such as where something is located in a menu) in IntelliJ IDEA. But if you will be working in JVM dedicated projects using Java, Kotlin, Groovy and/or Scala, or with other languages (Python, php, html, css, JavaScript, etc., etc.) or any server side (or "enterprise") code - either for your Android apps or for other work, then go with IntelliJ IDEA.

Edited Aug 4, 2018 for some clarification and an added screenshot.

Updated Nov 25, 2019 to add new information.

这篇关于带插件的 Android Studio 和 Intellij Idea 之间的区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆