vscode tweaks
Escrito por meleu em 07 Feb 2020Alguns tweaks que tenho feito em projetos novos envolvendo JavaScript/Node.
nodemon + sucrase
nodemon: reinicia a aplicação a cada mudança no código
sucrase: permite que usemos import ... from ...
no lugar de require()
Instalar como dependência de desenvolvimento (opção -D
):
yarn add nodemon sucrase -D
Adicionar ao package.json
:
"scripts": {
"dev": "nodemon src/server.js",
"dev:debug": "nodemon --inspect"
}
Criar o arquivo .nodemon.json
:
{
"execMap": {
"js": "node --require sucrase/register"
}
}
debugar via VSCode
- No VSCode, vai na seção de “Debug and Run” (atalho:
Ctrl+Shift+D
) - Inicie um novo
launch.json
. - Remova a linha com a propriedade
program
. - Altere as propriedades do
configurations
que estão listadas abaixo:
{
"configurations": [
{
"request": "attach",
// remover "program"
"restart": true,
"protocol": "inspector"
}
]
}
ESLint + Prettier + EditorConfig
Ir na seção de plugins do VSCode e instalar ESLint.
Em seguida vai no terminal:
yarn add eslint prettier eslint-config-prettier eslint-plugin-prettier -D
yarn eslint --init
Durante o init selecionar:
- check syntax, find problems and enforce code style
- JavaScript modules (import/export) (graças ao sucrase)
- Sobre framework: None of these (nem React nem Vue.js)
- Desmarcar
Browser
e marcarNode
(usando espaço) - Use a popular style guide
- Airbnb
- aceitar instalação (vai instalar via
npm
)
Remover o package-lock.json
e executar simplesmente yarn
para que seja feito o mapeamento das dependências no yarn.lock
.
O arquivo .eslintrc.js
será criado, vamos fazer algumas alterações nele:
// ...
extends: ['airbnb-base', 'prettier'],
plugins: ['prettier'],
// ...
rules: {
"prettier/prettier": "error",
"class-methods-use-this": "off",
"no-param-reassign": "off",
"camelcase": "off",
"no-unused-vars": ["error", { "argsIgnorePattern": "next" }],
}
Criar o arquivo .prettierrc
:
{
"singleQuote": true,
"trailingComma": "es5"
}
Aplicar eslint em todos arquivos .js
:
yarn eslint --fix src --ext .js
Ir nas configurações do vscode: Ctrl+Shift+P
e digite settings json
. E adicionar isso ao settings.json
:
"[javascript]": {
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
},
},
"[javascriptreact]": {
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
},
},
EditorConfig
EditorConfig é útil quando trabalhamos em projetos onde os outros desenvolvedores utilizam editores diferentes do nosso (VSCode).
Ir na seção de plugins do VSCode e instalar EditorConfig.
Criar arquivo .editorconfig
:
root = true
[*]
indent_style = space
indent_size = 2
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true