Whether you're an experienced software developer or just started learning how to code, choosing a integrated development environment (IDE) or code editor can be a challenge. There isn't a 'best' choice for everyone so down below is a list of some of our top 3 favourite IDEs and code editors that we use to help you decide what is right for you.

What is an IDE and Text or Code Editor?

IDE stands for Integrated Development Environment. It is a software pack that contains tools for developing and testing software. These include editors, libraries, compiling and testing platforms.

IDE provides automation to tasks of the developer by reducing manual efforts by combining all these tools into a common framework. If developers didn't use an IDE the developer would have to manually perform the selections, integration and deployment process.

We also have text editors. These can be used to write code, however with an IDE a programmer can perform other functions such as running and executing code, debugging, compiling and auto-complete etc. Basically a text editor is a simple editor to edit the source code but does not posses any integrated tools or packages.

We also have code editors. These are lightweight source code editors which can be used to view, edit, run and debug source code for applications. Simply put it doesn't have all the functions of IDEs and is basically a superman's text editor. Now that we've explained what an IDE and code editor is lets get into our favourite ones we use.

1 - Visual Studio Code

vscode

Visual Studio Code is a code editor and as mentioned above it is lightweight and can be used to view, edit, run and debug source code.

This makes it perfect for the majority of tasks we are faced with as a software development agency. It is cross-platform meaning it can be used with Windows,Linux or MacOS and it can be extended with plugins to fit most development needs. It's open source and free which makes it great for new developers along with making it easy to deploy. Being lightweight means it is fast, probably the fastest we've seen available. We use it for all types of development, front-end and backend, you name it.

There's a lot of features which we love and we could talk about them all day,so here's a quick summary of features which make it one of our favourite code editors:

  • IntelliSense - A code-completion aid which includes features such as Parameter Info, Quick Info, and Complete Word. These features help you to learn more about the code you're using, keep track of the parameters you're typing, and add calls to properties and methods with only a few keystrokes.

  • Git Integration - Sometimes using Git can be fun or hard, but Visual Studio Code comes with integrated Git that allows for Adding, Committing, Pulling and Pushing Changes to a remote Git repository using a simple GUI.

  • Debugging - Visual Studio Code has a rich API for enabling debugging tools. Debugging is a huge topic and is usually specific to the language or stack used, there are available plugins that will enable support for debugging

  • Live Share Live Share is a feature that enables you to share your VS Code instance, and allow someone remote to control and run other things such as debuggers. It is installed as a plugin and the status bar will enable you share any working session by getting a link, once you are signed in.

  • Integrated Terminal - Most of the time when running code, you usually have a terminal open either to the side, or somewhere on your machine. Visual Studio Code comes with an Integrated Terminal which usually opens by default in the workspace you are in, and can also have split views.


  • Now this doesn't even begin to cover a lot of the features of Visual Studio Code such as themes and other extensions but we should also cover some of the drawbacks of Visual Studio Code as nothing is perfect.

    Well first of all it's not an IDE so it doesn't have a lot of features a fully-fledged IDE does but it isn't suppose to. So if you want a compiler, a linker, SDKs or emulators then Visual Studio Code probably isn't for you.

    Another few downsides we found with Visual Studio Code is the file search can be slow if working on bigger projects. Also we've noticed some of the built in documentation isn't that good.

    To conclude Visual Studio Code is fantastic, if you are a front-end developer using React or HTML this code editor will be perfect for you. Even backend development using PHP and frameworks such as symfony i'd also highly recommend using this. There are no bad aspects to this code editor, sure there are areas of improvements but I'm sure with time these issues will be improved.

    2 - Visual Studio

    Visual Studio

    So now we move on to Visual Studio. First of all we should probably clarify Visual Studio and Visual Studio Code are different. Visual Studio is a fully-fledged IDE complete with all the features required for project development that Visual Studio Code doesn't have, like database integration, server setup, configurations, and so on. In brief Visual Studio is an ultimate development environment but it's quite heavy compared to Visual Studio Code.

    Now being the ultimate development environment, Visual Studio doesn't come cheap, with the Professional edition costing £573. However it is still considered the IDE of choice when developing on windows. It can be used for any software development including but not limited to web front end, report generation, database development, ETL, and information processing code. Because it integrates well with our Github source control system, Visual Studio gives our developers a solid platform for team-oriented software development, deployment and life-cycle management.

    Some notable features include the following:

  • A massive library of extensions that is always growing

  • IntelliSense

  • Customizable dashboard and dockable windows

  • Straightforward workflow and file hierarchy

  • Insights for monitoring performance in real time

  • Automation tools

  • Easy refactoring and code snippet insertion

  • Split screen support
  • The main drawback of using Visual Studio is that it is a heavyweight IDE, it takes considerable resources to open and run, so making simple edits may be time consuming on some devices. For simpler tasks, it may be easier to use a lightweight editor like Visual Studio Code

    We'd definitely recommend Visual Studio if you're doing any C#/VB windows applications. Microsoft more or less demands that you use Visual Studio to compile and build your projects. That being said, it truly is a nice platform to use, and one of the more pleasant 'you must use this IDE' experiences in programming.


    3 - NetBeans

    Netbeans

    Next we have NetBeans. Unlike Visual Studio the NetBeans IDE is free and open Source. It is brilliant for editing existing projects or starting new ones from scratch. It includes a simple drag and drop interface that comes with a host of convenient project templates. It is primarily used to develop Java applications, but you can download bundles that support other languages.

    Primarily our experience with NetBeans has been the development of Java applications and for that we can definitely recommend it. It has a lot of brilliant notable features which include the following:

  • Intuitive drag-and-drop interface

  • Dynamic and static libraries

  • Allows for remote development

  • Compatible with Windows, Linux, OS X, and Solaris platforms

  • Supports Qt Toolkit
  • NetBeans provides smooth and fast code editing. It provides powerful tools, code templates, code generators, and coding tips that enable developers to refactor code easily. It supports multiple languages and can easily be extended via plugins to facilitate extra functionality.

    The primary drawback of NetBeans is that it can consume a lot of memory and may perform sluggishly on some machines. However it is still a brilliant IDE and would definitely recommend trying it out if you are creating Java applications.

    Honorable Mention

    Xcode IDE

    Xcode IDE is free, open source, and part of Xcode, which is a collection of tools for making apps for Apple devices such as the iPad, iPhone and Mac. Integration with Cocoa Touch makes development in the Apple environment a breeze, and you can enable services such as Game Center or Passbook with a single mouse click. Built-in communication with the developer’s website helps users produce fully functioning apps on the fly.

    The reason we listed Xcode as honorable mention is for app development is because it's only available on Apple Devices. At WeCodePlus we use React Native to develop cross-platform applications, there are many benefits to this which we will talk about another day. but this is therefore why we don't use Xcode, but if you own a Mac and want to develop applications native for Apple then Xcode is definitely the way to go for you.

    Final Notes

    There are many other brilliant IDEs and code editors out there you can use such as Eclipse or JetBrains. This list is merely our favourites that we like to use for development. We therefore encourage you to go out there and try out different ones and find one which works best for your development needs. We primarily use Visual Studio Code to develop software and definitely recommend you try it if you have not already done so. Have a good day and happy coding!