IntelliJ IDEA for multiple languages or one IDE for each? - intellij-idea

I was working with PHPStorm on some PHP projects and I liked it a lot. Now I have to find an IDE for Python and since I like PHPStorm I was looking at PyCharm and IntelliJ IDEA. I’m not sure which way to go. It seems compelling to give up PHPStorm and put both PHP and Python into IntelliJ IDEA. But I’m not very sure if it is clever to choose one IDE for multiple environments.
I'm afraid that a configuration of multiple environments inside a single IDE may overload the IDE and that the configured environments interfere with each other in unwanted or bothering ways.
On top of that IntelliJ IDEA comes with a lot of Java stuff preinstalled, which I do not need. If I have to keep the Java stuff inside the IDE the case gets even worse...
So right now I have no clue which way to go..
Can someone with experience elaborate on that please?

IntelliJ does depend on a JRE (so does Pycharm and PHPStorm), but other than that it doesn't bring a lot of "Java stuff" with it unless you add it via the plugins. It should be sufficient to download IntelliJ Ultimate and then add the PHP and Python plugins and have the desired experience of PHPStorm and PyCharm combined.
However it may be cheaper to just purchase PyCharm instead of IntelliJ ultimate, https://www.jetbrains.com/idea/features/editions_comparison_matrix.html The community edition doesn't support the Pycharm plugin.

Related

Write an IDE on top of IntelliJ Platform

I want to write a custom IDE on top of IntelliJ Platform. Android Studio is an example. It was built based on IntelliJ Platform and was designed to support Android application development.
There are lots of git GUI out there. However, in Linux, I don't satisfy with any. That is my motivation to write a git IDE for Linux. IntelliJ IDEA already have a very good Git plugin. Using IntelliJ IDEA is a solution. But it is too heavy for opening entire project with different functionalities (Run, Debug, Refactor...) for just Git operations. Therefore, I want to make that plugin a complete IDE for only Git operation.
On IntelliJ Platform forum page, there are tutorials to write plugins. However, it doesn't have the guide for writing a complete IDE.
Are there any tutorials to help me get started?
IntelliJ platform is probably not the best choice for writing a general purpose RCP applications.
https://intellij-support.jetbrains.com/hc/en-us/community/posts/207769065-Developing-a-desktop-Business-Application-using-the-JetBrains-Platform
Git plugin has 65k lines of code, you are talking about gutting ~13M lines IDE (respectively 3M lines of pure Java source code).

Difference between WebStorm and PHPStorm

I'm choosing an IDE for web development and I would like to know what the differences between WebStorm and PHPStorm are.
I couldn't find any major points on JetBrains' website and even Google didn't help that much.
All I know now is that PHPStorm doesn't support JS like WebStorm, but is able to due to plugins. Is this the only difference?
I couldn't find any major points on JetBrains' website and even Google didn't help that much.
You should train your search-fu twice as harder.
FROM: http://www.jetbrains.com/phpstorm/
NOTE: PhpStorm includes all the functionality of WebStorm (HTML/CSS Editor, JavaScript Editor) and adds full-fledged support for PHP and Databases/SQL.
Their forum also has quite few answers for such question.
Basically: PhpStorm = WebStorm + PHP + Database support
WebStorm comes with certain (mainly) JavaScript oriented plugins bundled by default while they need to be installed manually in PhpStorm (if necessary).
At the same time: plugins that require PHP support would not be able to install in WebStorm (for obvious reasons).
P.S.
Since WebStorm has different release cycle than PhpStorm, it can have new JS/CSS/HTML oriented features faster than PhpStorm (it's all about platform builds used).
For example: latest stable PhpStorm is v7.1.4 while WebStorm is already on v8.x. But, PhpStorm v8 will be released in approximately 1 month (accordingly to their road map), which means that stable version of PhpStorm will include some of the features that will only be available in WebStorm v9 (quite few months from now, lets say 2-3-5) -- if using/comparing stable versions ONLY.
UPDATE (2016-12-13):
Since 2016.1 version PhpStorm and WebStorm use the same version/build numbers .. so there is no longer difference between the same versions: functionality present in WebStorm 2016.3 is the same as in PhpStorm 2016.3 (if the same plugins are installed, of course).
Everything that I know atm. is that PHPStorm doesn't support JS part like Webstorm
That's not correct (your wording). Missing "extra" technology in PhpStorm (for example: node, angularjs) does not mean that basic JavaScript support has missing functionality. Any "extras" can be easily installed (or deactivated, if not required).
UPDATE (2016-12-13):
Here is the list of plugins that are bundled with WebStorm 2016.3 but require manual installation in PhpStorm 2016.3 (if you need them, of course):
Cucumber.js
Dart
EditorConfig
EJS
Handelbars/Mustache
Java Server Pages (JSP) Integration
Karma
LiveEdit
Meteor
PhoneGap/Cordova Plugin
Polymer & Web Components
Pug (ex-Jade)
Spy-js
Stylus support
Yeoman
Essentially, PHPStorm = WebStorm + PHP, SQL and more.
BUT (and this is a very important "but") because it is capable of parsing so much more, it quite often fails to parse Node.js dependencies, as they (probably) conflict with some other syntax it is capable of parsing.
The most notable example of that would be Mongoose model definition, where WebStorm easily recognizes mongoose.model method, whereas PHPStorm marks it as unresolved as soon as you connect Node.js plugin.
Surprisingly, it manages to resolve the method if you turn the plugin off, but leave the core modules connected, but then it cannot be used for debugging. And this happens to quite a few methods out there.
All this goes for PHPStorm 8.0.1, maybe in later releases this annoying bug would be fixed.
There is actually a comparison of the two in the official WebStorm FAQ. However, the version history of that page shows it was last updated December 13, so I'm not sure if it's maintained.
This is an extract from the FAQs for reference:
What is WebStorm & PhpStorm?
WebStorm & PhpStorm are IDEs (Integrated Development Environment)
built on top of JetBrains IntelliJ platform and narrowed for web
development.
Which IDE do I need?
PhpStorm is designed to cover all needs of PHP developer including
full JavaScript, CSS and HTML support. WebStorm is for hardcore
JavaScript developers. It includes features PHP developer normally
doesn’t need like Node.JS or JSUnit. However corresponding plugins can
be installed into PhpStorm for free.
How often new vesions (sic) are going to be released?
Preliminarily, WebStorm and PhpStorm major updates will be available
twice in a year. Minor (bugfix) updates are issued periodically as
required.
snip
IntelliJ IDEA vs WebStorm features
IntelliJ IDEA remains JetBrains' flagship product and IntelliJ IDEA
provides full JavaScript support along with all other features of
WebStorm via bundled or downloadable plugins. The only thing missing
is the simplified project setup.
PhpStorm supports all the features of WebStorm but some are not bundled so you might need to install the corresponding plugin for some framework via Settings > Plugins > Install JetBrains Plugin.
Official comment - jetbrains.com
I use IntelliJ Idea, PHPStorm, and WebStorm. I thought WebStorm would be sufficient for PHP coding, but in reality it's great for editing but doesn't feel like it real-time-error-checks PHP as well as PHPStorm. This is just an observation, coming from a regular user of a JetBrains products.
If you're a student try taking advantage of the free license while attending school; it gives you a chance to explore different JetBrains IDE... Did I mention CLion? =]
In my own experience, even though theoretically many JetBrains products share the same functionalities, the new features that get introduced in some apps don't get immediately introduced in the others. In particular, IntelliJ IDEA has a new version once per year, while WebStorm and PHPStorm get 2 to 3 per year I think. Keep that in mind when choosing an IDE. :)

How to add different programming languages to Eclipse (C++, C#, Java)

another completely beginner question. I just went through two introductory courses in Java, and I noticed that Eclipse can also support development in other languages (which I didn't know). Does anyone know how to add other languages to Eclipse so that I can switch between IDE's, or do I have to have a completely separate installation of Eclipse per language?
In Eclipse, use the menu Help -> Install new software. Choose "All available sites" in the combo box, wait a moment and then you can explore some other available plugins and languages.
Depending on your version of Eclipse, you might also have a menu item Help -> Eclipse Marketplace. That one is even more comfortable, as it allows you to easily browse all plugins listed in the Eclipse Marketplace. You can also browse the marketplace in your browser and afterwards drag and drop interesting plugins from the browser to your running eclipse (if your version of eclipse is new enough).
Eclipse is a plugin framework......
You have two choices - fortunately the eclipse community saw fit to produce Eclipse in a range of products that will do 99% of what 99% of people want. These distros are good to go. You install them and start work. You can then extend them if you want, but they do all of the basics very well, reliably, out of the box. Installing more than one with eclipse is easy, they do not interfere with each other, and if one turns out to be broken, the rest are not affected.
The other option, is to extend the framework by adding the plugins you want. So you start with an Eclipse distro, and download and install plugins till the cows come home. In the perfect world, this would be the perfect solution. Its not a perfect world..... you have not installed all you plugins and Eclipse suddenly crashes........
Problems occur because sometimes
Plugins are buggy
Plugins are incompatible with each other.
Different plugins rely on different versions of another one
(indirectly incompatible).
Plugins don't work the way the rest of the tool does
There are just too many plugins to choose from - you don't need most, and the ones you need can be hard to find.
Adding more than a few (probably 1) plugin to Eclipse exposes you to these problems. This is not something for the novice or people who have job not involved in fixing Eclipse. if you have a real reason for it, like your a sadist, or it's your job, or you want it to be your job, to make a team of 100 Devs productive, then plugins are great, otherwise, download a pre-canned, tested, reliable distro and take advantage of the great work by the contributors.

Intellij / webstorm pointing to one project

I have a Play project. I use Intellij for the Java portion, but like to use Webstorm for the javascript part.
How can I do this ? Obviously right now, they keep overwriting the config file... :(
IntelliJ is perfectly capable of dealing nicely with JavaScript. Why do you need WebStorm? I'd recommend that you manage both the Java and web parts of your application in IntelliJ. I believe Play support is available, too:
http://www.jetbrains.com/idea/webhelp/play!.html
IntelliJ IDEA contains all the WebStorm features, these products are not designed to be used together, on the same machine and on the same project at the same time.

favourite IDE for griffon development

I am experimenting with Groovy Griffon development and I am wondering what IDE to use.
I am trying to use NetBeans 6.5, and I found this post
https://blogs.oracle.com/geertjan/entry/notes_on_converting_netbeans_grails
essentially it describes forking the NetBeans trunk and hacking the Grails support; I was hoping for something more lightweight.
Are there any simple tools to create eclipse, netbeans or pom.xml's from Griffin Apps?
Or is it best to use a simple text editor?
There is a NetBeans Griffon plugin already available at http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=18664
Griffon apps have some rudimentry hooks already for IDE integration.
First, a .classpath and .project file are generated that mark the expected source and test directories for Eclipse. Both IntelliJ and NetBeans have importers for these eclipse files (and they work, I use them regularly).
Second, Griffon 0.1.1 adds more targets to the parallel build.xml so that more of the common scripts can be used as though they were ant tasks (run-app, compile, debug-app, etc.)
Third, there is some better IDE support in the works form some of the IDE vendors. As mentioned in the article you linked because Griffon is grails derived it is fairly easy to re-purpose existing Grails support. IntelliJ has the only specific tracked feature request I am aware of.
IntelliJ Idea has very good Griffon support.
This question usually comes with a next question:
How to debug Griffon?
Just in case someone still requires a helping hand trying to figure out how to debug Griffon in Eclipse/STS I've written a simple step by step guide to get it done:
http://ivo43.blogspot.com/2012/02/debugging-griffon-in-eclipsests.html
Hope it helps someone someday, :D
PD: I've tried Netbeans and even though it looks great am still with STS, call me a maniac!