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

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.

Related

IntelliJ IDEA for multiple languages or one IDE for each?

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.

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. :)

Is there an easy way to use intellij for liferay theme development?

I recently switched from eclipse and netbeans to intellij, but I have also liferay stuff to do and intelliJ seems to lack a decent liferay integration.
Does someone know how to use intelliJ for that, with as much of intelliJs comfort as possible :-/
As the themes are no simple java project the import stuff doesn't seem to recognize it properly...
You could look into the maven integration for Liferay (depending on the version of Liferay you're using - the more recent the version, the better the maven integration) and just import a pure maven project. The layout of this differs a bit from the usual ant-based SDK.
But of course you can also use the pure Ant buildfiles you find in the plugins sdk. As there's typically no java in a theme, it doesn't make a lot of differences.
Not wanting to start IDE wars here, but you also might consider Liferay IDE (or Developer Studio, it's EE-Version) for theme-related development. As there's no Java development done in themes, the conflict of changing tools should be handleable. I wouldn't want to work in both IDEs for Java development again (been there, done that), but for themes I can imagine just going the easy route - it's mainly CSS that you edit.

Eclipse plugin is listed with other plug-ins, but UI contributions are missing

I wrote two Eclipse plugins that work fine when I use Eclipse to run them in another instance of Eclipse. I'd like to distribute the plugins to a relatively small number of people for feedback and was hoping that the dropins folder would provide a quick and dirty solution. When I put the plugins in the dropins folder of my Eclipse installation (Indigo), I see the plugins listed with other plugins in the installation details. The UI contributions are missing and I haven't been able to find any error messages in the logs or otherwise.
As stated, I'm looking for a quick and dirty solution. I intend to build an update site in the future, but would prefer to invest time into that only after getting feedback on the plugins because this is a side project.
It sounds like your plugin is loaded, but isn't started. A 'quick and dirty' solution is to have it use the org.eclipse.ui.startup extention point so it is activated on startup.
Another possibility is that your UI additions just aren't activated for the perspective, which you can fix by running Window > Customize Perspective.

Use maven2 for build-automation and continuous integration of an eclipse rcp project?

My company starts a new project next week. We have planned to develop the application with eclipse rcp. The build process should be fully automated, so we're prepared to set up a continuous integration environment (e.g. Continuum). For the build-automation-part I intended to use maven2, because I want use its dependency management.
I have used maven2 for a small old-style java project, but have never set up maven for using it with eclipse rcp.
What's the best way to do this? Basic concepts? Common traps? Are any tutorials or book's around there? The tutorials and informations I found, seemed outdated or incomplete.
PS: The main project will be divided into sub-project's (plug-in's). But I think this is typical for eclipse rcp projects.
You should take a look at Tycho:
the-future-of-maven-osgi-join-the-tycho-users-mailing-list
the-next-generation-of-build-tools-for-eclipse-plugins-and-rcp-applications
Like most Maven questions, this is solved by a link to a plug-in:
"pde-maven-plugin"
Other advice:
use the assembly plug-in to build
the update site
consider using hudson rather than
Continuum
I've been battling maven2/Eclipse RCP integration for some time. The key is not so much getting your setup right: You can get it to work - eventually - by reverse-engineering Eclipse's build process in maven.
In my experience, the hard part is keeping everything up to date. Every time Eclipse revs their libs, you'll find yourself re-writing a bunch of pom files for that newest RCP widget or SWT lib. Naturally, CI helps with this somewhat. The problem is that Eclipse and maven are very particular about the way they do the business of building, and their approaches are quite different. To make matters worse, PDE dev (and Eclipse dev, more generally) is powered by a lot of wizard code, which is sometimes quite opaque as to what's happening behind the scenes.
The question you really need to ask yourself is if it's worth the effort. In my particular case, I believe it has been. (CI is too good to live without.) But the trade-off is that you may find yourself being the "build guy", which can take valuable time away from actual development, which is probably what you enjoy most.
I've got recently the same problem : build eclipse RCP application through continuous integration.
I haven't applied them yet but I've found some interesting articles :
Here's the documentation for Tycho
Building Eclipse Plugins with Maven 2 on eclipse.org
Build Eclipse RCP products using Maven 2 - how hard can it be? from Immo Hüneke's blog
Here's an article about PDE build automation
Here's a shell script to automate JUnit test launch