Skip to content

Instantly share code, notes, and snippets.

@bsshenrique
Created October 22, 2023 23:32
Show Gist options
  • Save bsshenrique/eb0c023e71733b83ccb00c8d5ab879fc to your computer and use it in GitHub Desktop.
Save bsshenrique/eb0c023e71733b83ccb00c8d5ab879fc to your computer and use it in GitHub Desktop.
Snippets no VSCode

Snippets no VSCode

Snippets in Visual Studio Code podem aumentar significativamente a sua produtividade.
Veja um exemplo.

Considere a função:

// sum.js
export function sum(...params) {
  return params.reduce((p, c) => (+p || 0) + (+c || 0), 0)
}

Se estiver desenvolvendo com base em TDD e/ou gostar boas práticas, certamente terá testes unitários:

import { describe, it } from 'node:test';
import assert from 'node:assert';

import { sum } from './sum.js'

const mockArray0 = [1, 2, 3, 4, 5]
const mockNumber0 = 500
const mockNumber1 = 500
const mockString = 'AAA'

describe('Function "sum"', () => {
  it('Should be defined', () => {
    assert.notStrictEqual(sum, undefined, 'Is not defined')
  })

  it('Should be 15', () => {
    assert.equal(sum(...mockArray0), 15, 'The result is not equals to 15')
  })

  it('Should be 1000', () => {
    assert.equal(sum(mockNumber0, mockNumber1), 1000, 'The result is not equals to 1000')
  })

  it('Should be 0', () => {
    assert.equal(sum(mockString), 0, 'The result is not equals to 0')
  })
})

Para agilizar o desenvolvimento ao criar os cenários de testes é possível usar um snippet.

Snippets

É extremamente fácil criar um snippet:

1. Inicie a ação "Show All Commands", "F1" como default
2. Snippets: Configure User Snippets
3. New Global Snippets File (ou de acordo com sua necessidade)

Crie algo como:

{
  "Cria um teste vazio": {
    "scope": "javascript,typescript",
    "prefix": "it",
    "body": [
      "it('Should be $1', () => {"
      "$2"
      "});"
    ],
    "description": "Cria um teste vazio."
  }
}

Note que cada $N representa a ordem de salto do TAB.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment