ironcev / without-guns-for-vs-code

Visual Studio Code extension that teaches you mindful programming
MIT License
18 stars 2 forks source link
mindful-programming visual-studio-code visual-studio-code-extension visual-studio-code-extensions vscode vscode-extension vscode-plugin

Without Guns for Visual Studio Code

A Visual Studio Code extension that teaches you mindful programming.

Visual Studio Marketplace AppVeyor GitHub release License

About

Without Guns turns the following Visual Studio Code features on and off:

When these features are turned off, we say that we code "without guns".

Occasional coding without guns forces you to code mindfully and yields the following benefits:

Code without guns whenever you learn something new, being that a new programming language, algorithm, framework or a technology.

You can download Without Guns from the Visual Studio Code marketplace.

Usage

To start coding without guns execute Guns: Without from the Command Palette. To get the guns back, execute Guns: With. An image is worth a thousand words, therefore:

Without Guns extension in action

FAQ

Q: Why is the extension called "Without Guns"? Do you like guns?

No, I don't like guns. On the contrary, I dream of a world without them. The origin of the name is a story of its own. It is based on a quote from the 1996 film Last Man Standing starring Karina Lombard, Bruce Willis, and Christopher Walken. I'll write a blog post about the origin of the name and the philosophy behind the coding without guns. Stay tuned ;-)

Q: Are you suggesting that we should always code without IntelliSense, Syntax Highlighting, etc.?

No. On the contrary. I am myself a user and a strong proponent of productivity features and tools. What I am suggesting is to turn them off occasionally, especially when learning a new programming language or a framework.

Q: Does this really work? Will coding without guns really bring me confidence and deeper knowledge?

Out of my years-long experience in practicing this technique - yes, definitely. Productivity features and tools like IntelliSense help you being fast and productive in the production environment. Coding without guns helps you learn new things in a much firmer way. Leaving guns behind intentionally while learning leads to a much deeper coding experience. This at the end brings deeper knowledge and a greater coding confidence.

Q: Shouldn't we better spend time learning how to more efficiently use productivity tools instead of learning how to code without them?

We should do both, master our productivity tools and master working without them. Coding without guns can be seen as practicing Tai Chi movements in a slow and mindful manner. It builds strong inner foundations. Programming with guns is using Tai Chi in a fight.

Q: Is Without Guns written without guns?

Yes, a good portion of it. This was my first project ever written in TypeScript. Coding it without guns helped me to better learn TypeScript and its ecosystem.

Q: Is this all a joke?

No. I'm dead serious about coding without guns.

Known Limitations

Without Guns unobtrusively changes some Visual Studio Code workspace settings on the fly. These results in two intrinsic limitations:

Extension Settings

Without Guns extension comes with only one setting, _withoutGuns.internal.areGunsTaken. As the name suggests, this is an internal setting used by the extension itself. It should never be changed manually. Just ignore it.

Release Notes

All notable changes to the Without Guns extension are documented in the changelog. Below is an excerpt from the changelog that lists the major changes.

0.3.1

0.3.0

0.2.0

0.1.0

License

Without Guns is licensed under the MIT license.