Every developer needs great tools to work efficiently. Setting up these tools manually can be tedious and error-prone. Furthermore, some projects may require different versions and configurations of such tools. Especially configurations like code-formatters should be consistent within a project to avoid diff-wars.
The devonfw-ide
will solve these issues. Here are the features you will find through devonfw-ide
:
-
Efficient
Set up your IDE within minutes tailored for the requirements of your project. -
Automated
Automate the setup and update, avoid manual steps and mistakes. -
Simple
KISS (Keep It Small and Simple), no native installers that globally mess your OS or tool-integration that break with every release. Instead, use templates and simple shell scripts. -
Configurable
You can change the configuration depending on your needs. Furthermore, the settings contain configuration templates for the different tools (see configurator). -
Maintainable
For your project you should copy these settings to an own git repository that can be maintained and updated to manage the tool configurations during the project lifecycle. If you use GitHub or GitLab every developer can easily suggest changes and improvements to these settings via pull/merge requests, which is easier to manage with big teams. -
Customizable
Do you need an additional tool you had never heard of before? Put it in thesoftware
folder of the structure. Thedevon
CLI will then automatically add it to yourPATH
variable.
Further you can create your own commandlet for your additional tool. For closed-source tools you can create your own archive and distribute it to your team members as long as you care about the terms and licenses of these tools. -
Multi-platform
It works on all major platforms: Windows, Mac and Linux. -
Multi-tenancy
You can have several instances of thedevonfw-ide
"installed" on your machine for different projects with different tools, tool versions and configurations. You won’t need to set up any physical installation nor changing your operating system. "Installations" ofdevonfw-ide
do not interfere with each other nor with other installed software. -
Multiple Workspaces
It supports working with different workspaces on different branches. You can create and update new workspaces with a few clicks. You can see the workspace name in the title-bar of your IDE so you do not get confused and work on the right branch. -
Free
Thedevonfw-ide
is free just like everything from devonfw. See LICENSE for details.
We support the following IDEs:
We support the following build-systems:
However, also other IDEs, platforms, or tools can be easily integrated as commandlet.
TL;DR
? Lets talk to developers a correct language. Here are some examples with devonfw-ide
:
[/]$ devon
You are not inside a devonfw-ide installation: /
[/]$ cd /projects/devonfw
[devonfw]$ mvn
zsh: command not found: mvn
[devonfw]$ devon
devonfw-ide environment variables have been set for /projects/devonfw in workspace main
[devonfw]$ mvn -v
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20:41:47+02:00)
Maven home: /projects/devonfw/software/maven
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: /projects/devonfw/software/java
Default locale: en_DE, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.3", arch: "x86_64", family: "mac"
[devonfw]$ cd /projects/ide-test/workspaces/test/my-project
[my-project]$ devon
devonfw-ide environment variables have been set for /projects/ide-test in workspace test
[my-project]$ mvn -v
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T20:41:47+02:00)
Maven home: /projects/ide-test/software/maven
Java version: 11.0.2, vendor: Oracle Corporation, runtime: /projects/ide-test/software/jdk/Contents/Home
Default locale: en_DE, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.3", arch: "x86_64", family: "mac"
[ide-test]$ devon eclipse
launching Eclipse for workspace test...
[my-project]$ devon build
[INFO] Scanning for projects...
...
[INFO] BUILD SUCCESS
This was just a very simple demo of what devonfw-ide
can do. For further details have a look at our CLI documentation.
Now you might ask:
-
But I use Windows/Linux/MacOS/… - it works on all platforms!
-
But how about Windows CMD or Power-Shell? - it works!
-
But what if I use cygwin or git-bash on windows? - it works!
-
But I love to use ConEmu or Commander - it works with full integration!
-
How about macOS Terminal or iTerm2? - it works with full integration!
-
But I use Zsh - it works!
-
…? - it works!
Wow! So let’s get started with download & setup.