{"id":230478,"date":"2022-11-27T14:04:00","date_gmt":"2022-11-27T11:04:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230478"},"modified":"2022-11-09T22:34:02","modified_gmt":"2022-11-09T19:34:02","slug":"qualidade-de-codigo-por-configuracoes-de-idioma-no-codigo-do-visual-studio","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pt-pt\/qualidade-de-codigo-por-configuracoes-de-idioma-no-codigo-do-visual-studio\/","title":{"rendered":"Qualidade de c\u00f3digo por configura\u00e7\u00f5es de idioma no c\u00f3digo do Visual Studio"},"content":{"rendered":"\n<p>Em postagens anteriores, falei um pouco sobre <strong><a href=\"https:\/\/tommcfarlin.com\/tag\/visual-studio-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">o Visual Studio Code<\/a><\/strong> e, embora tenha tentado v\u00e1rios outros editores, continuo voltando a esse IDE espec\u00edfico.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164181-61e75f970c723.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164181-61e75f970c723.png\" alt=\"Qualidade de c\u00f3digo por configura\u00e7\u00f5es de idioma no c\u00f3digo do Visual Studio\" ><\/a><\/p>\n<p>Com o tempo, ele amadureceu um pouco, continua a faz\u00ea-lo e permite muita personaliza\u00e7\u00e3o, especialmente para aqueles que trabalham em <strong><a href=\"https:\/\/php.net\/manual\/en\/intro-whatis.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP<\/a><\/strong>, <strong><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Sass<\/a><\/strong>, <strong><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">JavaScript<\/a><\/strong> e, de maneira mais geral, <strong><a href=\"https:\/\/wordpress.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress<\/a><\/strong>.<\/p>\n<p>Se voc\u00ea usar algum linter, no entanto, descobrir\u00e1 que uma das coisas sobre as quais cada um falar\u00e1 \u00e9 a quantidade de espa\u00e7o em branco que deve existir antes de uma determinada linha de c\u00f3digo.<\/p>\n<p>Portanto, se voc\u00ea estiver usando <strong><a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">o Visual Studio Code<\/a><\/strong>, essas s\u00e3o as extens\u00f5es e as configura\u00e7\u00f5es que recomendo para garantir que seu c\u00f3digo esteja de acordo com as ferramentas de qualidade de c\u00f3digo que voc\u00ea est\u00e1 usando.<\/p>\n<h2>Qualidade do c\u00f3digo por idioma<\/h2>\n<p>Primeiro, as extens\u00f5es que eu recomendo que todas as pessoas instalem \u2013 pelo menos se voc\u00ea estiver trabalhando com os idiomas acima \u2013 incluem o seguinte:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/Microsoft\/vscode-eslint\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ESLint<\/a>. Integra o ESLint ao VS Code. (Se voc\u00ea \u00e9 novo no ESLint, verifique a <strong><a href=\"http:\/\/eslint.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">documenta\u00e7\u00e3o<\/a><\/strong> .)<\/li>\n<li><a href=\"https:\/\/github.com\/ikappas\/vscode-phpcs\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPCS<\/a> que integra os padr\u00f5es de codifica\u00e7\u00e3o PHP (definidos nas prefer\u00eancias) no IDE.<\/li>\n<li><a href=\"https:\/\/github.com\/jason-pomerleau\/vscode-wordpress-toolbox\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">O WordPress Toolbox<\/a> fornece trechos para cada fun\u00e7\u00e3o, classe e constante do WordPress, com dicas de tipo de argumento e breves descri\u00e7\u00f5es at\u00e9 o WordPress 4.9.4 (no momento deste post).<\/li>\n<\/ul>\n<p>Depois de instalados, voc\u00ea pode reiniciar seu IDE ou adicionar o seguinte c\u00f3digo ao arquivo de prefer\u00eancias antes de fazer isso. Voc\u00ea pode fazer isso globalmente ou por projeto. Qualquer um est\u00e1 bom. Eu comentei <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/db004aa90822920fe50b7751c5cf3488\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">o c\u00f3digo<\/a><\/strong> para torn\u00e1-lo o mais f\u00e1cil poss\u00edvel de seguir.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164181-61e75f9b3803e.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-164181-61e75f9b3803e.png\" alt=\"Qualidade de c\u00f3digo por configura\u00e7\u00f5es de idioma no c\u00f3digo do Visual Studio\" ><\/a><\/p>\n<p>Eu tamb\u00e9m adicionarei algumas notas abaixo dele.<\/p>\n<pre><code>{\n    \/\/ Tab Spacing per language.\n    \"[php]\": {\n      \"editor.tabSize\": 4,\n      \"editor.autoIndent\": true\n    },\n\n    \"[scss]\": {\n      \"editor.tabSize\": 2,\n      \"editor.autoIndent\": true\n    },\n\n    \"[javascript]\": {\n      \"editor.tabSize\": 2,\n      \"editor.autoIndent\": true\n    },\n\n    \/\/ General Editor Settings\n    \"files.trimTrailingWhitespace\": true,\n    \"php.suggest.basic\": true,\n    \"php.validate.executablePath\": \"\/usr\/local\/bin\/php\",\n    \"php.validate.run\": \"onType\",\n    \"phpcs.enable\": true,\n    \"phpcs.executablePath\": \"\/usr\/local\/bin\/phpcs\",\n    \"phpcs.standard\": \"PSR2\"\n}<\/code><\/pre>\n<p>\u00c9 assim que funciona:<\/p>\n<ul>\n<li>Para cada tipo de idioma, voc\u00ea pode definir determinadas configura\u00e7\u00f5es, como <strong>tabSize<\/strong> e se deve ou n\u00e3o <strong>autoIndent<\/strong> criando uma defini\u00e7\u00e3o no arquivo JSON.<\/li>\n<li>Para fazer isso, preceda a defini\u00e7\u00e3o com o sufixo do arquivo da linguagem ou, em alguns casos (como JavaScript), o nome da linguagem.<\/li>\n<\/ul>\n<p>O c\u00f3digo na parte inferior do arquivo, as <strong>configura\u00e7\u00f5es gerais do editor<\/strong> s\u00e3o fornecidos como alguns extras que voc\u00ea pode querer incluir. Por exemplo, gosto de cortar todo o espa\u00e7o \u00e0 direita, sugerir defini\u00e7\u00f5es b\u00e1sicas de PHP e um conjunto de padr\u00f5es de codifica\u00e7\u00e3o para quando estou trabalhando em um projeto.<\/p>\n<p>Essas s\u00e3o coisas que geralmente est\u00e3o fora do escopo deste projeto (mas j\u00e1 discuti <strong><a href=\"https:\/\/tommcfarlin.com\/tag\/visual-studio-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">em outros posts<\/a><\/strong> ). Mas ainda \u00e9 suficiente come\u00e7ar com um n\u00edvel mais alto de qualidade de c\u00f3digo por idioma do que o oferecido imediatamente.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como come\u00e7ar com um n\u00edvel mais alto de qualidade de c\u00f3digo por idioma do que o oferecido imediatamente.<\/p>\n","protected":false},"author":1,"featured_media":164182,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[722,796],"tags":[1170],"class_list":["post-230478","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvedor","category-visual-studio-code-8","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/230478","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=230478"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/posts\/230478\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media\/164182"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=230478"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=230478"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=230478"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}