You probably know how much I like to try new things. I've published several posts about how I tried new tools, such as Snowpack, and have built stuff that probably shouldn't exist, such as Linear Regression in Scratch, or everyone's favourite monstrosity, Cascading Server Sheets.
However, rarely have I touched my toolchain. Especially my IDE. So, when I was approached by the team over at CodeLobster Software, I figured I should give this tool a try! So here's a review of CodeLobster IDE!
Disclaimer: This post is sponsored by CodeLobster IDE, but I'll give it an honest review nevertheless. To me, delivering value to you is important, so if you think this tool looks interesting, give it a shot!
The best way to figure out if a tool works is to actually use it. CodeLobster IDE has built-in support for a ton of frameworks, including, but not limited to, Symfony, Drupal, Angular, React, Vue, Magento and Laravel, so the web devs out there should feel at home.
For this review, I've built a small Symfony app that would require the user to enter their location and get a weather forecast from an API. I won't go much into the details of this process, but I'll talk about the things I encountered along the way.
Installing the IDE
First things first: Let's acquire the tool. We can download CodeLobster IDE on their website, http://www.codelobsteride.com. They offer versions for Windows, Linux (both .rpm and .deb packages), and MacOS. There is a free tier, but they're currently (as of November 2023) offering discounts on their Pro versions as well.
In this post, we'll work with the Pro version on Arch Linux (I use Arch, btw) to cover as many of the features as possible.
The first glance
The IDE itself is relatively simple. It resembles most other IDEs, which I don't find surprising. After all, the concept has worked so far, so why change it? It doesn't have any extra bells and whistles so far. Although the icons could use a bit of a brush-up, the overall look is tidy.
When we look at the second row of icons, we see things like a paragraph, an image, a table, the letter J, a colour palette, a line feed, and much more.
Turns out, when we create a fresh new HTML file, these icons are shortcuts for often-used elements!
Clicking on them directly adds the code to the HTML file:
Now I wonder two things: a) Can I customize these, and b) are there keyboard shortcuts? But for the moment, I think I digress.
However, my eyes feel a bit sore. CodeLobster IDE has a bunch of presets for the entire visual style of the app. Some look better than others, but that's a preference. For the nostalgic devs among us, there's even a theme called "Eclipse". And boy, oh boy, do I not like that theme. Brings back some of the not-so-desired memories.
However, I'll stick to the "AtomOne Dark" theme for the rest of this post.
Creating a project
Now that we've eased my random-button-pressing urges let's start with the project. When Clicking on "File", hovering "New", and clicking on "Project", CodeLobster IDE greets me with a simple form. It lets me select the framework, if any, the location, and a name. It even shows me a "Project URL for debugging (F5)", which I'm intrigued to check out. After all, F5 is also only just a button.
Selecting the "Symfony" framework continues the wizard. I can either create a project based on version 5.x or 4.4 of the framework. Clicking on "Next" asks for some sensible defaults, such as the installation type, which project template to use, if I want a database, and, if so, how to connect to it. Once done, I click on "Finish", and the IDE starts rolling the setup.
It installs Symfony and opens up the project folder. Nice! This is a feature I lack from most IDEs I've used so far: A sensible default set of frameworks that just work. Some IDEs offer some boilerplates, but to specifically create a Symfony, Laravel or Drupal project, you'd need to do most of the setup yourself or install extra plugins.
Language support
First things first: I want to look at something. Ideally, something served by Symfony. So I create a PHP file in src/Controller
called HomeController.php
.
The PHP template itself is minimal, offering an opening and a closing tag. Given, the templates can be edited, but what I'm missing a bit here are custom templates or more sophisticated templates, such as class files that could automatically determine the namespace and such.
Once done importing the necessary dependencies, such as an entity, the AbstractController
class, and the class TextType
to build the form, I start to create the form.
The auto-complete feature is rather decent, offering IntelliSense and dedicated Symfony support, although only in the Pro version.
Once done with the controller, I create a Twig file to render it. Again, the Twig support is decent! The syntax highlighting works very well (even a little more detailed than with some editors and IDEs), and I finally get to use the shortcut buttons mentioned earlier!
YAML support works well, too, although I'd wish for a bit more of the Ctrl + click
support that I'm so used to from any JetBrains IDE. For example, when defining routes, I'd really like to be able to Ctrl+click on the fully qualified class name and jump to the respective file.
After building the thing
To be honest, I need to get used to CodeLobster IDE. Coming from another editor makes things a little difficult, but that's to be expected.
In general, I had a great time building with this IDE, and CodeLobster has supported me well along the way. I think though, some features are either missing or I haven't found them. For example, I'm missing standard auto-save a bit. But what I think I miss most is the ability to Ctrl+click
absolutely everything. From file paths to classes and variables. Sometimes, it allows Ctrl+click
on things that I don't think are supposed to be clickable, such as a (bool)
typecast that leads to an environment configurator from Symfony itself.
What surprises me the most is the balance of features the developers of CodeLobster IDE have found. This is very subjective, but to me, it feels less cluttered and overloaded than, say, PHPStorm or Eclipse (if anyone out there actually still uses Eclipse, that is) but more complete than Visual Studio Code with a bare installation.
Using the built-in Symfony support of the Pro version had another advantage: There's an extra GUI for commands with a tree-like browser.
This nifty little tool helps to gain an overview of which commands actually exist and what they do. Instead of going through them one by one on the CLI, a simple click shows you the expected arguments and what the command does.
Drupal, for example, also offers a "Create module" functionality - something that's usually a bit tedious. I'd wish they would add more of these functionalities for other frameworks, such as Vue or Nuxt.
The ecosystem
During my journey to building the app, I found myself looking for advice on A Popular Search Engine™ pretty often. The one thing that kept popping up was the CodeLobster IDE forums. The community is pretty active, with a total of around 26 thousand registered members, roughly 2800 topics and 10 thousand posts.
There are dedicated subforums for support, advice and desires, and news about CodeLobster IDE and the company behind it. The CodeLobster IDE team is active in the forum and answers questions. The community itself seems welcoming and very much on the topic.
And let's be real here: An oldschool phpBB board? That brings back good old memories, doesn't it?
Summary
The IDE itself works. It works really, really well; it's just the developers' decisions on some of the details that may cause some frustration if you're used to some other editor. Unfortunately, the IDE doesn't offer very much customization for those things, but if you're going to rebuild another IDE entirely with customization, why switch in the first place?
I found a pitfall or two (I needed to explicitly set where it could find the PHP executable, for example), but those aren't game-breakers at all.
So, if you're looking for a new IDE, give CodeLobster a try. There's a free version, and once you're used to it, try out the Pro version!
I hope you enjoyed reading this article as much as I enjoyed writing it! If so, leave a ❤️! I write tech articles in my free time and like to drink coffee every once in a while.
If you want to support my efforts, you can offer me a coffee ☕ or follow me on Twitter 🐦! You can also support me directly via Paypal!
Top comments (0)