A VS Code extension to practice and improve your typing speed right inside your code editor. Practice with simple words or code snippets.

Overview

Warm Up

πŸ”₯ πŸ‘¨β€πŸ’» A VS Code extension to practice and improve your typing speed right inside your code editor. Practice with simple words or code snippets.

Choose between 12 natural languages, 12 programming languages or select anything in your editor and practice with your own code snippets.

Install

  1. Go to VS Marketplace
  2. Click on the "Install" button.

Overview

demo

Start

Open the extension panel by clicking on the keyboard icon in the status bar, by entering the ctrl + alt + p shortcut or by hitting ctrl + shift + p and executing the warmUp.start command.

To practice with your own code snippets (or text), select anything in your editor and enter the ctrl + alt + s which will execute the command warmUp.practiceWithSelection

Restart

To restart the typing test, press esc or click the restart button. If you hold shift while clicking the restart button, the typing test will restart with the same words list/code snippet.

Settings

You can configure the typing test by changing the settings through commands or in the user settings editor.

Setting Name Description Default Value
warmUp.switchNaturalLanguage Choose a natural language to practice with. english
warmUp.switchProgrammingLanguage Choose a programming language to practice with. javascript
warmUp.changeTypingMode Practice a fixed amount of words, against the clock or with code snippets. words (fixed amount)
warmUp.changeCount Change the amount of words or the timer (depending on the typing mode). 15
warmUp.togglePunctuation Enable or disable punctuation (doesn't affect "code snippets" mode). false
warmUp.toggleColorBlindMode Enable or disable color bind mode (doesn't concern "code snippets" mode). false

Contributing and Feedback

Feel free to open issues or pull requests! Any feedback and contribution is highly appreciated. You can improve the existing code, add functionality, languages, code snippets etc. Contact me on twitter if you have any questions.

Credits

  • Typings: Original website forked to make this extension.
  • Flaticon: Svgs used to make the extension icon.
Comments
  • The cursor is getting misaligned

    The cursor is getting misaligned

    The cursor gets further from the current letter, the longer I type on one line image The next letter on the picture is a in all(), but the cursor is near the parentheses.

    bug 
    opened by sommelon 6
  • Licensing.

    Licensing.

    Currently this repository is not licensed. That means that all rights are reserved. Nobody has the right to redistribute the code which includes usage in an own work. Forks are not allowed as well. Therefore it would be great if you used an open source and free software licensed that protects users freedom and contribution to the public programmers community. As you use code from typings which is released under the GPL 3.0 you are required by this license to license your combined work under the same license. The philosophy of free software is explained here on the GNU's website. More information on licensing and free software can be found on gnu.org as well.

    Side note: If you use the Flaticon icons as non-paying user they legally require you to give proper attribution as stated on their site.

    opened by real-yfprojects 1
  • New mode with autocomplete

    New mode with autocomplete

    Would be great to have a mode where the editor would autocomplete for us. For example when I type "(", it completes the second ")", and all the built-in editor features and also third party plugin features (e.g. auto formatting). The accuracy would have to be done differently though. Maybe if you press a certain key combination it would stop the timer and compare the written code with the desired result and give you the accuracy. The WPM could only count the actual keypresses, not auto-completions or it could be a setting we can toggle.

    This would allow for benchmarking of the editor features and plugins.

    opened by sommelon 0
  • Feature Request: Data orientated languages and offline mode

    Feature Request: Data orientated languages and offline mode

    I'm really enjoying using this extension however I think it could be improved by caching maybe one or two natural languages that the user types in as well as their primary programming language(s) so that it could be used without an internet connection.

    I also think it would be a good idea to include data orientated languages such as SQL (and it's variants) and NOSQL languages like MongoDB.

    enhancement 
    opened by MfundoZA 1
  • Feature Request: Speed typing files & Jupyter Notebook cells

    Feature Request: Speed typing files & Jupyter Notebook cells

    It would be great if this could be used with files. I'm imagining a right-side pane where we see the source code we're progressing through. An option to accept Emmet and other code completion would be cool, because the goal in this use case would be to code quickly, not just type quickly.

    It would also be cool if this added a "source" section within each cell of a Jupyter Notebook.

    enhancement 
    opened by Pawper 0
A type speed checking website which lets you check your typing speed and shows the real-tme leaderboards with mongodb as DB and express as backend

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Sreehari jayaraj 8 Mar 27, 2022
A minimal typing practice website with no features except typing. Inspired from Monkeytype. Do ⭐ this repository.

SenpaiType Introduction SenpaiType is a minimal typing practice website with no features except typing. Inspired from Monkeytype. Contributing Raise i

Pruthviraj Jadhav 5 Nov 19, 2022
An open-source Typing-effect Library, That enables potential users to add a typing effect to mere DOM Elements.

Typing Effect Library An open-source Typing-effect Library I created. That enables potential users to add a typing effect to mere DOM Elements. Tool P

Okoye Charles 14 Oct 3, 2022
An app to test out your typing speed, save your progress and view statistics against them.

Introduction An app to test out your typing speed, save your progress and view statistics against them. Demo Check out the quick demo here. Getting St

Nithin Kumar B 2 Sep 7, 2022
AWS SAM project that adds the snippets from serverlessland.com/snippets as saved queries in CloudWatch Logs Insights

cw-logs-insights-snippets Serverlessland.com/snippets hosts a growing number of community provided snippets. Many of these are useful CloudWatch Logs

Lars Jacobsson 12 Nov 8, 2022
This is a project by members of the KalleTech discord server. We are making a website where you can practice your programming speed.

codetyper This is a project by members of the KalleTech discord server. We are making a website where you can practice your programming speed. Links W

Christoffer Holmesland 15 Nov 18, 2022
A browser/Chrome extension that replaces Leftist #trigger words with "bad thing" and "current bad thing". Inspired by Tim Pool.

BadThings browser/Chrome extension replaces Leftist #trigger words with 'bad things' and 'current bad thing'. Quickstart This project uses React 18 an

Cale McCollough 2 Sep 5, 2022
This simple extension can automatically load NBN availability information for properties on realestate.com.au & domain.com.au including technology type, maximum line speed, and co-existance status if available.

NBN Availability Check Chrome Extension This simple extension can automatically load NBN availability information for properties on realestate.com.au

Luke Prior 17 Aug 17, 2022
VSCode extension with helpful code snippets for SolidJS.

Solid Snippets VSCode extension with helpful code snippets for SolidJS. GET THE EXTENSION Snippets Trigger Content Languages JSX sinput→ Input two-way

SolidJS Community 10 Oct 18, 2022
A2er - Fun browser extension, changing all words ending with `a` to end with `er`.

a2er Fun browser extension, changing all words ending with a to end with er. This started as a joke between friends and me, pronouncing words ending w

Sebastian Schicho 1 Jan 10, 2022
A simple JavaScript library, to display a window inside of the browser

WindowJS WindowJS is a simple JavaScript library, to display a functional window inside of the browser. Demo: prod.thalmann.it/windowjs/demo.html Navi

Matthias Thalmann 11 Aug 6, 2022
Pack all your node_modules and other files you want inside your project to a zip file.

?? Node Modules Packer Use Cases | Usage | Examples | Headless | Benchmarks | Reference This is a library to package all your node_modules and other f

Vinicius Lourenço 13 Nov 3, 2022
πŸ“Έ A command-line tool to generate code images of your local code right away from the terminal

?? rayli ?? A command-line tool to generate code images of your local code right away from the terminal Usage Commands Usage $ npm install -g rayli $

buidler's hub 45 Nov 4, 2022
A plugin for Obsidian that can create input fields inside your notes and bind them to metadata fields.

Obsidian Meta Bind Plugin This plugin can create input fields inside your notes and bind them to metadata fields. New docs I am currently working on n

Moritz Jung 42 Nov 16, 2022
Code Playground is a online application for testing and showcasing user-created and collaborational HTML, CSS and JavaScript code snippets

Code Playground About Code Playground is a online application for testing and showcasing user-created and collaborational HTML, CSS and JavaScript cod

Arshansh Agarwal 4 Aug 5, 2022
Clojure inside your Obsidian documents!

Obsidian Wielder Clojure inside your Obsidian documents! This Obsidian plugin allows you to use the full power of Clojure directly inside of your docu

Victor Bjelkholm 50 Nov 22, 2022
A sequence of smart contracts to practice gas optimization. These are used as practice assignments for RareSkills.io and the Udemy Gas Optimization Course

RareSkills Gas Puzzles Puzzles that are ready for you Distribute (hard) Array Sum (easy) Escrow EscrowV2 Mint Presale Require (easy) Staking Contribut

RareSkills 211 Nov 26, 2022
Nest multiple blocks inside lists of any kind of list (ordered, unordered, no marker, etc), or do away with list markers and use it like a repeater!

Nest multiple blocks inside lists of any kind of list (ordered, unordered, no marker, etc), or do away with list markers and use it like a repeater!

Rani 14 Oct 6, 2022
Inside-out promise; lets you call resolve and reject from outside the Promise constructor function.

Inside-out promise; lets you call resolve and reject from outside the Promise constructor function.

Lily Scott 3 Feb 28, 2022