Skip to content

Instantly share code, notes, and snippets.

@matheusramalhosilva
Last active January 26, 2025 19:23
Show Gist options
  • Save matheusramalhosilva/8330e4ea94afa82e293f3479be8958bf to your computer and use it in GitHub Desktop.
Save matheusramalhosilva/8330e4ea94afa82e293f3479be8958bf to your computer and use it in GitHub Desktop.
VS Code Settings
{
// --------------------
// EDITOR
// --------------------
"editor.fontFamily": "JetBrains Mono", // Familia de fonte
"editor.fontLigatures": true, // Habilita ligaduras nas fontes (ex: transforma "!==" em um caractere especial, dependendo da fonte)
"editor.fontSize": 14, // Tamanho da fonte
"editor.lineHeight": 1.8, // Altura da linha
"editor.tabSize": 2, // Número de espaços usados para uma tabulação
"editor.minimap.enabled": false, // Desativa o minimapa
"editor.rulers": [
80,
120
], // Adiciona guias verticais para ajudar na largura máxima do código
"editor.formatOnSave": false, // Não formata automaticamente ao salvar o arquivo
"editor.formatOnPaste": true, // Formata automaticamente o código ao colar
"editor.formatOnType": true, // Formata automaticamente ao digitar
"editor.detectIndentation": false, // Desativa a detecção automática de indentação
"editor.bracketPairColorization.enabled": true, // Ativa a colorização de pares de colchetes
"editor.suggestSelection": "first", // Seleciona automaticamente a primeira sugestão no IntelliSense
"editor.parameterHints.enabled": false, // Desativa as dicas de parâmetros nas funções
"editor.renderLineHighlight": "gutter", // Destaca a linha atual na margem (gutter)
"editor.renderWhitespace": "boundary", // Exibe espaços em branco apenas em limites (ex: fim da linha)
"editor.renderFinalNewline": "off", // Não adiciona uma nova linha no final do arquivo automaticamente
"editor.wordBasedSuggestions": "off", // Desativa sugestões baseadas em palavras do documento
"editor.acceptSuggestionOnCommitCharacter": false, // Não aceita sugestões automaticamente ao digitar certos caracteres
"editor.accessibilitySupport": "off", // Desativa recursos de acessibilidade
"editor.semanticHighlighting.enabled": false, // Desativa a semântica de destaque de código
"editor.scrollbar.vertical": "hidden", // Oculta a barra de rolagem vertical
"editor.scrollbar.horizontal": "hidden", // Oculta a barra de rolagem horizontal
"editor.hideCursorInOverviewRuler": true, // Oculta o cursor na régua de visão geral
"editor.tabCompletion": "on", // Ativa a conclusão automática ao pressionar Tab
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit" // Aplica automaticamente correções do ESLint ao salvar
},
"editor.stickyScroll.enabled": false, // Desativa a rolagem "fixa" no editor
"editor.tokenColorCustomizations": { // Personalizações de cores de tokens
"textMateRules": [
{
"scope": "keyword.other.dotenv", // Define uma cor personalizada para palavras-chave específicas
"settings": {
"foreground": "#FF000000" // Cor da fonte
}
}
]
},
// --------------------
//WORKBENCH
// --------------------
"workbench.startupEditor": "none", // Remove a tela de boas-vindas ao abrir o VS Code
"workbench.statusBar.visible": true, // Exibe a barra de status
"workbench.editor.labelFormat": "short", // Exibe nomes curtos para os rótulos dos editores
"workbench.editor.empty.hint": "hidden", // Oculta a dica quando não há editores abertos
"workbench.panel.defaultLocation": "right", // Altera a posição padrão do painel para a direita
"workbench.iconTheme": "symbols", // Define o tema de ícones
"workbench.tree.indent": 16, // Define o tamanho da indentação na exibição de árvore
"workbench.tree.enableStickyScroll": false, // Desativa a rolagem fixa na exibição de árvore
"workbench.activityBar.location": "bottom", // Move a barra de atividades para a parte inferior
"workbench.colorTheme": "Omni", // Define o tema de cores para "Omni"
"workbench.preferredLightColorTheme": "Min Light", // Define o tema preferido para o modo claro do VS Code.
"workbench.preferredDarkColorTheme": "Omni", // Define o tema preferido para o modo escuro do VS Code.
"workbench.layoutControl.enabled": false, // Desativa o controle de layout
// --------------------
// EXPLORER
// --------------------
"explorer.confirmDelete": false, // Não solicita confirmação ao excluir arquivos
"explorer.compactFolders": false, // Impede a compactação de pastas em uma única linha
"explorer.confirmDragAndDrop": false, // Não solicita confirmação ao arrastar e soltar arquivos/pastas
"explorer.sortOrder": "foldersNestsFiles", // Ordena pastas primeiro, depois arquivos agrupados
"explorer.fileNesting.enabled": true, // Habilita o agrupamento de arquivos relacionados
"explorer.fileNesting.patterns": { // Define padrões de agrupamento para arquivos relacionados
"tsconfig.json": "tsconfig, babel.config*, jest.config*, jest.setup*, metro.config*, app.json",
"package.json": "pnpm-lock*, bun.lock*, nest*, package-lock*, vite*",
".eslintrc*": ".eslint*, prettier*, .prettier*, commitlint.config*, .editorconfig",
"next.config.*": "next-env*, next.config*",
"tailwind.config.*": "tailwind.config*, postcss.config*, nativewind*",
".env": ".env*, env.ts",
"README.md": "README.md, LICENSE, DOC.md, LIBRARIES.md"
},
// --------------------
// TERMINAL
// --------------------
"terminal.integrated.fontSize": 14, // Tamanho da fonte no terminal integrado
"terminal.integrated.fontFamily": "JetBrainsMono Nerd Font", // Fonte usada no terminal integrado
"terminal.integrated.gpuAcceleration": "on", // Habilita aceleração por GPU no terminal
"terminal.integrated.defaultProfile.osx": "zsh", // Define o shell padrão como Zsh no macOS
"terminal.integrated.defaultProfile.linux": "bash", // Define o shell padrão como Bash no Linux
"terminal.integrated.defaultProfile.windows": "Ubuntu (WSL)", // Define o shell padrão como WSL no Windows
"terminal.integrated.showExitAlert": false, // Não exibe alerta ao fechar o terminal
"terminal.integrated.env.osx": { // Configura variáveis de ambiente no macOS
"FIG_NEW_SESSION": "1"
},
// --------------------
// WINDOW
// --------------------
"window.commandCenter": false, // Desativa o centro de comandos
"window.titleBarStyle": "native", // Define a barra de título como nativa do sistema operacional
"window.autoDetectColorScheme": false, // Detecta automaticamente o esquema de cores do sistema
// --------------------
// FILES
// --------------------
"files.autoSave": "afterDelay", // Salva automaticamente após um pequeno atraso
"files.trimTrailingWhitespace": true, // Remove espaços em branco no final das linhas
"files.trimFinalNewlines": true, // Remove novas linhas extras no final do arquivo
"files.insertFinalNewline": true, // Adiciona uma nova linha no final do arquivo ao salvar
"files.associations": { // Associa extensões de arquivo a linguagens específicas
".env.*": "dotenv",
".prettierrc": "json",
"*.css": "css",
".dev.vars": "dotenv"
},
"files.exclude": { // Exclui arquivos/pastas específicos da exibição do explorador
"**/CVS": true,
"**/.DS_Store": true,
"**/.hg": true,
"**/.svn": true,
"**/.git": true,
".vscode": true
},
// --------------------
// TYPESCRITP
// --------------------
"typescript.tsserver.log": "off", // Desativa o log do servidor TypeScript
"typescript.updateImportsOnFileMove.enabled": "always", // Atualiza automaticamente as importações ao mover arquivos
"typescript.suggest.autoImports": true, // Sugere importações automáticas no TypeScript
"typescript.preferences.preferTypeOnlyAutoImports": true, // Prefere usar "type" para importações automáticas apenas de tipos
"typescript.autoClosingTags": false, // Desativa o fechamento automático de tags JSX
"[typescriptreact]": { // Configurações específicas para arquivos TypeScript React
"editor.defaultFormatter": "vscode.typescript-language-features"
},
// --------------------
// JAVASCRIPT
// --------------------
"javascript.suggest.autoImports": true, // Sugere importações automáticas no JavaScript
"javascript.updateImportsOnFileMove.enabled": "always", // Atualiza automaticamente as importações ao mover arquivos
"javascript.autoClosingTags": false, // Desativa o fechamento automático de tags JSX
"[javascript]": { // Configurações específicas para arquivos JavaScript
"editor.defaultFormatter": "vscode.typescript-language-features"
},
// --------------------
// JSON
// --------------------
"[jsonc]": {
"editor.defaultFormatter": "vscode.json-language-features" // Define o formatador padrão para arquivos JSON com comentários (jsonc).
},
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features" // Define o formatador padrão para arquivos JSON.
},
// --------------------
// OTHERS
// --------------------
"security.workspace.trust.untrustedFiles": "newWindow", // Abre arquivos de espaços de trabalho não confiáveis em uma nova janela.
"security.promptForLocalFileProtocolHandling": false, // Desabilita o aviso ao lidar com protocolos de arquivos locais.
"update.mode": "manual", // Define o modo de atualização do VS Code como manual.
"update.showReleaseNotes": false, // Oculta as notas de versão ao atualizar o editor.
"extensions.ignoreRecommendations": true, // Ignora recomendações de extensões.
"extensions.autoCheckUpdates": true, // Habilita a verificação automática de atualizações para extensões.
"breadcrumbs.enabled": false, // Desabilita a exibição de breadcrumbs na barra superior do editor.
"git.enableSmartCommit": true, // Habilita commits inteligentes (salva automaticamente alterações antes do commit).
"git.openRepositoryInParentFolders": "always", // Sempre abre o repositório no diretório pai.
"symbols.hidesExplorerArrows": false, // Mantém as setas visíveis no explorador de arquivos.
"symbols.files.associations": {
"*.module.ts": "nest", // Associa arquivos .module.ts ao ícone 'nest'.
"*.guard.ts": "typescript", // Associa arquivos .guard.ts ao ícone TypeScript.
"*.spec.ts": "ts-test", // Associa arquivos .spec.ts ao ícone de teste TypeScript.
"*.e2e-spec.ts": "ts-test", // Associa arquivos .e2e-spec.ts ao ícone de teste TypeScript.
"*.mock.ts": "ts-test", // Associa arquivos .mock.ts ao ícone de teste TypeScript.
"vitest.config.e2e.ts": "vite", // Associa configurações do Vitest ao ícone 'vite'.
".env.development.local": "gear", // Associa arquivos de configuração .env ao ícone 'gear'.
".env.test.local": "gear", // Associa arquivos de teste .env ao ícone 'gear'.
".env.local": "gear", // Associa arquivos .env locais ao ícone 'gear'.
".env.example": "gear" // Associa o exemplo de configuração .env ao ícone 'gear'.
},
"tailwindCSS.experimental.classRegex": [ // Configura expressões regulares para className dinâmicos no TailwindCSS.
[
"tv\\(([^)]*)\\)", // Detecta classes dentro de funções `tv`.
"[\"'`]([^\"'`]*).*?[\"'`]" // Detecta classes entre aspas.
],
"class:\\s*?[\"'`]([^\"'`]*).*?," // Detecta classes após `class:`.
],
"eslint.validate": [
"javascript", // Valida arquivos JavaScript com ESLint.
"javascriptreact", // Valida arquivos React JavaScript com ESLint.
"graphql" // Valida arquivos GraphQL com ESLint.
],
"emmet.includeLanguages": {
"javascript": "javascriptreact", // Permite o uso do Emmet em arquivos JavaScript como se fossem React.
"mdx": "javascriptreact" // Permite o uso do Emmet em arquivos MDX como React.
},
"emmet.syntaxProfiles": {
"javascript": "jsx", // Define o JSX como perfil de sintaxe para Emmet em JavaScript.
"mdx": "jsx" // Define o JSX como perfil de sintaxe para Emmet em MDX.
},
// "apc.font.family": "Inter",
"apc.activityBar": {
"position": "bottom", // Posiciona a Activity Bar na parte inferior.
"hideSettings": true, // Oculta o botão de configurações na Activity Bar.
"size": 48, // Define o tamanho da Activity Bar.
"itemMargin": 8, // Define a margem entre os itens da Activity Bar.
"itemSize": 32 // Define o tamanho dos itens da Activity Bar.
},
"apc.electron": {
"titleBarStyle": "hiddenInset", // Oculta a barra de título, exceto o botão de controle.
"trafficLightPosition": {
"x": 11, // Define a posição horizontal do botão de controle.
"y": 10 // Define a posição vertical do botão de controle.
},
"opacity": 1, // Define a opacidade para o fundo da janela.
"vibrancy": "dark", // Define o estilo vibrante para o fundo da janela.
"frame": false // Remove a moldura padrão da janela.
},
"apc.header": {
"height": 36 // Define a altura do cabeçalho da interface.
},
"apc.listRow": {
"height": 24 // Define a altura das linhas de listas.
},
"apc.stylesheet": {
// Define estilos personalizados aplicados à interface.
".title-label > h2": "display: none",
".editor-actions": "display: none",
".nosidebar .inline-tabs-placeholder": "width: 75px",
".pane-header": "padding: 0 8px",
".pane-body": "padding: 8px",
".split-view-view:first-child .pane-header": "display: none !important;",
".monaco-list-row": "border-radius: 4px;",
".monaco-workbench .monaco-list:not(.element-focused):focus:before": "display: none;"
},
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment