> For the complete documentation index, see [llms.txt](https://moxwel.gitbook.io/basics/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://moxwel.gitbook.io/basics/first/useful-software.md).

# Useful Software

Here is a list of useful software you may need.

## Visual Studio Code <a href="#vscode" id="vscode"></a>

<figure><img src="https://1372910843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj93R6i5LFt65ZuPhYR8e%2Fuploads%2FGetHFxU2Fg3rj7457rhh%2Fvscode.png?alt=media&amp;token=8957ac6c-432d-48e5-be6d-1179c1f2719a" alt=""><figcaption><p>Visual Studio Code window</p></figcaption></figure>

{% embed url="<https://code.visualstudio.com/>" %}
Visual Studio Code homepage
{% endembed %}

**A very simple yet powerful code editor**. Extremely customizable and you can install extensions to extend usage and capabilities. So powerful, you can turn this text editor to an entire IDE[^1] too.

{% hint style="info" %}
If you want to use other text editor, you can search alternatives in [Alternativeto.net](https://alternativeto.net/software/visual-studio-code/).
{% endhint %}

## WSL (Windows Subsystem for Linux) <a href="#wsl" id="wsl"></a>

<figure><img src="https://1372910843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj93R6i5LFt65ZuPhYR8e%2Fuploads%2FdEgjXYV3W04xp9EVr9sK%2Fimage.png?alt=media&amp;token=84a7377e-0187-471d-829e-c760c97aa097" alt=""><figcaption><p>Ubuntu on WSL in Windows Terminal</p></figcaption></figure>

{% embed url="<https://learn.microsoft.com/en-us/windows/wsl/install>" %}
WSL installation documentation
{% endembed %}

If you are on Windows, the **Windows Subsystem for Linux** will be a must. Is a very powerful tool that let you use a Linux environment inside Windows, seamlessly, almost like running two OS's at the same time.

With this, you get all the power of Linux, with the convenience of not to dual-boot or install virtual machines and things like that.

{% hint style="info" %}
WSL integrates well with [**Visual Studio Code**](/basics/first/useful-software.md#visual-studio-code) and [**Windows Terminal**](#windows-terminal).
{% endhint %}

{% hint style="success" %}
If you want to install and configure WSL, **check the guide below!**
{% endhint %}

{% content-ref url="/pages/XfBaUKWEluaHp8Gk0DNf" %}
[WSL](/basics/software/wsl.md)
{% endcontent-ref %}

## Windows Terminal

<figure><img src="https://1372910843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj93R6i5LFt65ZuPhYR8e%2Fuploads%2Fgx1cpR985bVdQZ0IHjy5%2FSin%20t%C3%ADtulo.png?alt=media&amp;token=56e53c0b-b2bc-4892-a7cd-af620928074e" alt=""><figcaption><p>Windows Terminal window</p></figcaption></figure>

{% embed url="<https://github.com/microsoft/terminal>" %}
Windows Terminal GitHub repository
{% endembed %}

A very modern, customizable and feature rich command line terminal application.

It has support for tabs, rich text, custom colors, and integrates well with other system's utilities like WSL. Is the successor of CMD[^2], and if you are on Windows, you should use it (on Windows 11 it's already installed).

## Git

<figure><img src="https://1372910843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj93R6i5LFt65ZuPhYR8e%2Fuploads%2Fu0GQiJjTKzmcRVULxSjN%2Fimage.png?alt=media&amp;token=95ea17f7-a05d-401c-8b6e-0816fa60cce2" alt=""><figcaption><p>Have you seen this "metro map like" diagrams? It's git.</p></figcaption></figure>

{% embed url="<https://git-scm.com/>" %}
Git homepage
{% endembed %}

You're going to have to use it sooner or later. An SCM[^3] software that helps you to **gain control over the changes you (and your team) make in your project**.

Services like GitHub, GitLab, Bitbucket (and more) relays on this system for all their projects inside.

{% hint style="info" %}
Git integrates well with [**Visual Studio Code**](#visual-studio-code).
{% endhint %}

{% hint style="info" %}
It will be a tutorial for Git too. Stay tuned!
{% endhint %}

## GitHub Desktop

<figure><img src="https://1372910843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj93R6i5LFt65ZuPhYR8e%2Fuploads%2FVtXFITGXWHZJEJcKjiTe%2Fimage.png?alt=media&amp;token=48aa0baa-871b-4dc2-bb92-4f1f496db2eb" alt=""><figcaption><p>GitHub Desktop window</p></figcaption></figure>

{% embed url="<https://desktop.github.com/>" %}
GitHub Desktop homepage (for Windows and MacOS)
{% endembed %}

The simplest way to manage your GitHub repository without using too many commands.

This program will help you if you want to have simple control over your changes and pushing it to GitHub.

{% hint style="info" %}
If you are on Linux, use this fork instead: [shiftkey/desktop](https://github.com/shiftkey/desktop).
{% endhint %}

[^1]: **Integrated Development Environment**

    Software with many tools for development.

    [\[ Wikipedia \]](https://en.wikipedia.org/wiki/Integrated_development_environment)

[^2]: **Command Prompt (cmd.exe)**

    The default command-line interpreter for Windows.

    [\[ Wikipedia \]](https://en.wikipedia.org/wiki/Cmd.exe)

[^3]: **Source Code Management**

    A tool that helps manage source code like changes and versions.

    [\[ Wikipedia \]](https://en.wikipedia.org/wiki/Version_control)
