Setting Up a Windows Development Environment Part 1 - The Cmder Console Emulator

4 minute read

This is a part of a series on Setting Up a Windows Development Environment.

Introduction

Finding the right tools for a job can lead to a significant boost in productivity. However, the process of searching for these tools can lead to many dead ends or frustrations, as many sources of information are outdated, inaccurate, or have steep assumptions for what the reader already knows. Moreover, a vast majority of people don’t realize that these tools exist, or realize how much of a difference maker these tools can be.

This series of posts will cover setting up a general purpose software development environment on the Windows 10 operating system. Note that some of the tools described will be most useful for those with some experience working with the command line on Unix systems (e.g. Linux or macOS). The tools being described are certainly not definitive; it simply provides and overview of and describes the process of installing some of the tools that I found to be easy to pick up but still effective.

Make sure to follow along with your own machine if you want to experience the benefits of using the tools on your own machine. If you have any questions about any of the information here, or find any mistakes, feel free to contact me with my email to the left.

What is Cmder?

Cmder is a Console Emulator for Windows. In short, it’s a alternative terminal/command prompt for Windows that allows you to use many Unix (e.g. Linux/macOS) commands and utilities rather than the Windows version of the commands (either the default command prompt or the Powershell version). This way, if you are used to developing on a Unix environment, you can transfer many of the skills over while developing on Windows by using Cmder.

If you are not already familiar with a terminal, it’s a text-based interface that allows you to invoke commands to your computer. Oftentimes, the same operation performed on the GUI (Graphical User Interface) can be done much more easily using the terminal. Even in the case that you are not familiar with the Unix terminal, I would still recommend using Cmder over one of the traditional Windows command prompts, because these skill are transferrable over to when you need to use a Unix system for development. See here for some resources in learning how to use a terminal.

Installation

  1. Proceed to the Cmder website (https://cmder.net/).
  2. Choose the “Download Full” option to download both Cmder and git-for-windows as a bundle.
    • Git is one of the most popular Version Control Systems. The primary purpose of git is to keep track of versions of files over time, so that you can revisit earlier revisions in the future. It is widely used by software developers for keeping track of revisions for code and other resources. For more information, visit the official Git website (https://git-scm.com/).
    • git-for-windows is the windows distribution of Git.
  3. Extract the downloaded zip file to any location on the computer to install it to that location.
    • Cmder recommend users to install it in a folder path without a space in it. This means that it does not recommend installing it in the “Program Files” folder.
    • I recommend installing it in a stable location that won’t get moved too often (such as the Desktop or the Documents folder).
  4. Double click on the Cmder application in the extracted folder to open the application.

Usage

Cmder allows you to use all of the standard Unix terminal commands. Note that not everything will work exactly the same, because even though you are running a Unix terminal emulator, your underlying operating system is Windows.

(From this point on, if there is text styled like this, it means the text is a command to be entered into the terminal)

Some commands to try are

  • ls for listing the files and folders of the current directory (another term for folder).
  • cd for changing to another directory, relative to the current directory.
    • For example, if there is a folder named Documents in your current directory, the command cd Documents switches to that folder.
    • . refers to the current directory. The command cd . changes to this directory (quite useless).
    • .. refers to the parent directory (the directory that contains the current directory). The command cd .. changes to the parent directory.
  • cat prints out the contents of a file.
    • For example, if there is a file named file.txt, the command cat file.txt prints out the contents of the file to the terminal.

This is a part of a series on setting up a Windows Development Environment. Continue reading at Part 2 - Visual Studio Code.

More information

Terminal Guides

For an more comprehensive introduction to using a terminal, visit