<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Luis Alvarez</title>
    <description>The latest articles on DEV Community by Luis Alvarez (@mrluisfer).</description>
    <link>https://dev.to/mrluisfer</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F378821%2F25c937b4-6ab3-4190-a4a6-4a80dca13256.png</url>
      <title>DEV Community: Luis Alvarez</title>
      <link>https://dev.to/mrluisfer</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mrluisfer"/>
    <language>en</language>
    <item>
      <title>Mis Temas Preferidos | VSCode</title>
      <dc:creator>Luis Alvarez</dc:creator>
      <pubDate>Thu, 24 Jun 2021 17:59:51 +0000</pubDate>
      <link>https://dev.to/mrluisfer/mis-temas-preferidos-vscode-41j</link>
      <guid>https://dev.to/mrluisfer/mis-temas-preferidos-vscode-41j</guid>
      <description>&lt;p&gt;Seguramente nosotr@s como developers que pasamos mucho tiempo delante de la computadora haciendo código y desarrollando nuestras aplicaciones queremos cuidar nuestros ojos.&lt;/p&gt;

&lt;p&gt;Para eso es que generalmente se utilizan temas de modo oscuro los cuales hacen que pasar mucho tiempo frente a una pantalla y tener menos impacto negativo para nuestra vista.&lt;/p&gt;

&lt;p&gt;Y como muchos devs también queremos que nuestro editor VSCode sea lo mas personalizable posible para nuestro gusto, es por eso que quise hacer esta lista con los temas que a mi opinión son muy atractivos a la vista.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚡ Set Up
&lt;/h2&gt;

&lt;p&gt;Antes de mostrarte los temas quiero mostrarte como puedes cambiar los temas y ver los que ya tengas instalados o por defecto en tu VSCode&lt;/p&gt;

&lt;p&gt;Con la combinación de teclas &lt;strong&gt;Ctrl + K  Ctrl + T&lt;/strong&gt; y te mostrara los Color Themes disponibles, puedes moverte usando las flechas y tener una preview de como se ve el tema y la sintaxis&lt;/p&gt;

&lt;p&gt;Otra manera un poco mas larga en caso no te funcione este comando puedes ir a&lt;br&gt;
&lt;strong&gt;File &amp;gt; Preferences &amp;gt; Color Theme&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ó&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code &amp;gt; Preferences &amp;gt; Color Theme&lt;/strong&gt; en MacOs&lt;/p&gt;

&lt;p&gt;Cuando encuentres uno de tu agrado solo presiona Enter o da Click sobre el Tema&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frrfbj4j81k0h5swvzwsq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frrfbj4j81k0h5swvzwsq.png" alt="Menu de Temas" width="658" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tambien si decides colocarlo a un usuario puedes hacerlo en la configuración, utilizando &lt;strong&gt;Ctrl + ,&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Y te mostrara un archivo JSON donde puedes colocar el nombre del Tema que quieras colocar con el siguiente código:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Especifica&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;el&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;tema&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;utilizado&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;en&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;el&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;entorno&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;de&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;trabajo&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"workbench.colorTheme"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Default Dark+"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  📦 VSCode Marketplace
&lt;/h2&gt;

&lt;p&gt;Bien ahora para descargar nuevos temas, debemos dirigirnos al icono de &lt;strong&gt;Extensions&lt;/strong&gt; de nuestro editor donde podemos buscar &lt;em&gt;Plugins, Snippets, Themes, etc&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;En este caso solo lo usaremos para los temas que te mostrare para que puedas probarlo en tu VSCode&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2xa34zhzpfisbicrbok.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2xa34zhzpfisbicrbok.png" alt="Visual Studio Code Marketplace" width="800" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ Lista de Temas
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Dark+ (default Dark)
&lt;/h3&gt;

&lt;p&gt;Para mi el temas por defecto de VSCode es muy bueno y con un buen soporte y color de sintaxis para muchos lenguajes como TypeScript&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F22wbuie754vyshg082o6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F22wbuie754vyshg082o6.png" alt="Dark+" width="800" height="633"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme" rel="noopener noreferrer"&gt;One Dark Pro&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5w4hs35l6et7n2xhh1l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5w4hs35l6et7n2xhh1l.png" alt="One Dark Pro" width="800" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=arcticicestudio.nord-visual-studio-code" rel="noopener noreferrer"&gt;Nord&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn5lmrbba5705qo26vum9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn5lmrbba5705qo26vum9.png" alt="Nord Theme" width="800" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=whizkydee.material-palenight-theme" rel="noopener noreferrer"&gt;Palenight&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhk7g3xd0v5yp0y9ni0ln.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhk7g3xd0v5yp0y9ni0ln.png" alt="Palenight" width="800" height="558"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=jolaleye.horizon-theme-vscode" rel="noopener noreferrer"&gt;Horizon Theme&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffa40yinqrp3q4ucjz37l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffa40yinqrp3q4ucjz37l.png" alt="Horizon Theme" width="800" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=enkia.tokyo-night" rel="noopener noreferrer"&gt;Tokyo Night&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F730lp7364x5gix6asm4w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F730lp7364x5gix6asm4w.png" alt="Tokyo Night" width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=GitHub.github-vscode-theme" rel="noopener noreferrer"&gt;Github Theme&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvzs6ai0o6y01ut3lyxeg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvzs6ai0o6y01ut3lyxeg.png" alt="Github Theme" width="600" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=RobbOwen.synthwave-vscode" rel="noopener noreferrer"&gt;SynthWave'84&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmtki998mylssobqedrco.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmtki998mylssobqedrco.png" alt="SynthWave'84" width="600" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=monokai.theme-monokai-pro-vscode" rel="noopener noreferrer"&gt;Monokai Pro&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fys3wiawys1n39cn0mf6x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fys3wiawys1n39cn0mf6x.png" alt="Monokai Pro" width="600" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=samrapdev.outrun" rel="noopener noreferrer"&gt;Outrun&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd8whi1r7zgvyfwt96yue.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd8whi1r7zgvyfwt96yue.png" alt="Outrun" width="600" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=sdras.night-owl" rel="noopener noreferrer"&gt;Night Owl&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2z0mh4el5i3lhwvp7i9j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2z0mh4el5i3lhwvp7i9j.png" alt="Night Owl" width="800" height="575"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=sldobri.bunker" rel="noopener noreferrer"&gt;Dobri Next&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1czvfln6xtj3hq0e0x1x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1czvfln6xtj3hq0e0x1x.png" alt="Dobri Next" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://marketplace.visualstudio.com/items?itemName=wart.ariake-dark" rel="noopener noreferrer"&gt;Ariake Dark&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6koabqopfebdmnmfntu8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6koabqopfebdmnmfntu8.png" alt="Ariake Dark" width="800" height="570"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Espero y te haya gustado la lista de los temas que en mi opinión están muy bien hechos :D&lt;br&gt;
Si tienes alguno puedes dejarlo en los comentarios ⭐&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>javascript</category>
      <category>typescript</category>
      <category>2021</category>
    </item>
    <item>
      <title>Rutas Alias en JavaScript para React, Vuejs...</title>
      <dc:creator>Luis Alvarez</dc:creator>
      <pubDate>Sat, 22 May 2021 03:25:11 +0000</pubDate>
      <link>https://dev.to/mrluisfer/rutas-relativas-en-javascript-utilizando-vscode-5c7f</link>
      <guid>https://dev.to/mrluisfer/rutas-relativas-en-javascript-utilizando-vscode-5c7f</guid>
      <description>&lt;p&gt;Las Path Aliases o rutas relativas como muchos las pueden conocer, nos ayuda cuando tenemos un proyecto utilizando JavaScript o algún Framework como Vuejs o Nextjs(React), utilizamos el &lt;code&gt;import { } from ''&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Por ejemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Component&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;../../../components/Component&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="c1"&gt;// Ö&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Logo&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;../../../assets/principal/logo.png&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lo cual cuando tienes múltiples directorios y archivos se vuelve muy algo tedioso cuando necesitas importar algo&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffd00vmqf2ah1dwulz7aw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffd00vmqf2ah1dwulz7aw.png" alt="Multiples rutas importadas" width="800" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Incluso puede suceder que por algún refactor muevas una carpeta a un nivel mas arriba, por ejemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Logo&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;../../../assets/principal/logo.png&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="c1"&gt;// Y lo cambian a...&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Logo&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;../../../assets/logo.png&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Entonces tendríamos un error en todos los archivos donde importemos este "Logo" o Componente ya que la ruta no funcionara y no encontrara nuestro archivo que deseamos&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frqkcd5amyd47r354rawr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frqkcd5amyd47r354rawr.png" alt="Error de Visual Studio Code en React" width="800" height="110"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Por ejemplo, en la imagen de arriba nos mostrara que el modulo no fue encontrado o no se resolvió la ruta de donde importamos el archivo&lt;/p&gt;

&lt;h2&gt;
  
  
  Por suerte existe una solución :D
&lt;/h2&gt;

&lt;p&gt;Debemos crear en la ruta &lt;strong&gt;raiz&lt;/strong&gt; de nuestro proyecto un archivo &lt;code&gt;jsconfig.json&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Y dentro pondremos la siguiente estructura:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;compilerOptions&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{},&lt;/span&gt;
 &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;include&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[],&lt;/span&gt;
 &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;exclude&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  compilerOptions
&lt;/h3&gt;

&lt;p&gt;Son las opciones que le pasaremos al compilador que usemos de nuestro proyecto JavaScript&lt;/p&gt;

&lt;p&gt;Como la ruta base de nuestro proyecto, la versión de ecmascript que estemos usando&lt;/p&gt;

&lt;p&gt;Esto se refiere a si usamos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Foo&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./foo&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="c1"&gt;// Ó&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;bar&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./bar&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Include
&lt;/h3&gt;

&lt;p&gt;Aquí es donde pasaremos la carpeta que hara referencia a nuestra ruta&lt;/p&gt;

&lt;p&gt;Por ejemplo si usamos la carpeta comúnmente usada &lt;code&gt;src&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Haremos referencia a ese directorio&lt;/p&gt;

&lt;h3&gt;
  
  
  Exclude
&lt;/h3&gt;

&lt;p&gt;Lo que hace esta opción es excluir o ignorar las carpetas que le pasemos dentro de las opciones&lt;/p&gt;

&lt;p&gt;Por ejemplo la famosa carpeta de agujero negro, &lt;code&gt;node_modules&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Ya que solo queremos que nuestros archivos de desarrollo tengan las rutas relativas&lt;/p&gt;

&lt;p&gt;Entonces con todo esto listo nuestro archivo se vería algo así:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;compilerOptions&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;baseUrl&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;src&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;target&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;es6&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;include&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;src&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;exclude&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;node_modules&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Muy entonces dentro de nuestro proyecto podemos importar desde algún directorio que este dentro de &lt;code&gt;src&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Con esto estaría listo, cabe resaltar que algunos compiladores aun no aceptan por completo este tipo de archivo lo cual es raro ya que es una configuración de JavaScript pero aun así puedes intentarlo en tu proyecto :D&lt;/p&gt;

&lt;p&gt;Tambien puedes establecer rutas especificas dentro de otras carpetas agregando dentro de &lt;code&gt;compilerOptions&lt;/code&gt; la propiedad llamada &lt;strong&gt;paths&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Aquí un ejemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// El nombre de la izquierda puede ser cualquiera&lt;/span&gt;
&lt;span class="c1"&gt;// Solo que sea algo sencillo de entender&lt;/span&gt;
&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;paths&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;components&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;src/components&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;carpeta&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;src/carpeta/otraCarpeta&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Y en tu archivo jsconfig.json se vería algo así:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsn67nzcparrwlzea2rv8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsn67nzcparrwlzea2rv8.png" alt="Archivo jsconfig.json" width="547" height="299"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No es necesario exportar el archivo, ni importarlo dentro de algún fichero en tu proyecto, generalmente funciona automáticamente&lt;/p&gt;

&lt;p&gt;Ahora en caso estés utilizando &lt;strong&gt;Typescript&lt;/strong&gt; el proceso es el mismo solo que tu archivo deberá llamarse: &lt;code&gt;tsconfig.json&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Si deseas aprender y conocer muchas mas opciones puedes leer la documentacion oficial y aunque sea de Visual Studio Code, puede ser usada en cualquier editor como Vim, Sublime Text, Atom, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://code.visualstudio.com/docs/languages/jsconfig" rel="noopener noreferrer"&gt;🔗Documentacion Oficial&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dime en los comentarios que te pareció, o si tienes algún error para ayudarte 💫&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>vscode</category>
      <category>typescript</category>
      <category>react</category>
    </item>
    <item>
      <title>Configurar EsLint y Prettier junto con VScode</title>
      <dc:creator>Luis Alvarez</dc:creator>
      <pubDate>Tue, 04 May 2021 00:19:06 +0000</pubDate>
      <link>https://dev.to/mrluisfer/configurar-eslint-prettier-junto-con-vscode-3h00</link>
      <guid>https://dev.to/mrluisfer/configurar-eslint-prettier-junto-con-vscode-3h00</guid>
      <description>&lt;h2&gt;
  
  
  ¿Que es EsLint?
&lt;/h2&gt;

&lt;p&gt;ESLint es una herramienta de código abierto enfocada en el proceso de "lintig" para javascript (o más correctamente para ECMAScript)&lt;br&gt;
ESLint es la herramienta predominante para la tarea de "limpiar" código javascript tanto en el servidor (node.js) como en el navegador&lt;/p&gt;

&lt;p&gt;Bueno, ESLint es una herramienta de "linting", por lo que te puede ayudar a:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mostrarte errores de sintaxis.&lt;/li&gt;
&lt;li&gt;Mostrarte errores cuando no se siguen buenas prácticas.&lt;/li&gt;
&lt;li&gt;Proveer sugerencias para mejorar tu código.&lt;/li&gt;
&lt;li&gt;Mantener un estilo consistente en tu código o reforzar reglas internas de tu propio equipo.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  ¿Que es Prettier?
&lt;/h2&gt;

&lt;p&gt;Es una herramienta para formatear el código, tiene soporte para HMTL, CSS, JavaScript, JSX, TypeScript, GraphQL, etc.&lt;/p&gt;

&lt;p&gt;Se encarga de garantizar que el código se ajuste a un estilo consistente de manera automática. Para ello, analiza el código y lo re-escribe cada vez que se ejecuta.&lt;/p&gt;
&lt;h2&gt;
  
  
  ¿Que es VScode?
&lt;/h2&gt;

&lt;p&gt;Es un editor de código multiplataforma, totalmente gratis desarrollado por Microsoft&lt;/p&gt;

&lt;p&gt;Incluye soporte para la depuración, control integrado de Git, resaltado de sintaxis, finalización inteligente de código, fragmentos y refactorización de código. &lt;/p&gt;

&lt;p&gt;También es personalizable, por lo que los usuarios pueden cambiar el tema del editor, los atajos de teclado y las preferencias.&lt;/p&gt;
&lt;h1&gt;
  
  
  Configuración:
&lt;/h1&gt;

&lt;p&gt;Ahora configuraremos las dependencias que necesitaremos, lo primero es crear nuestro proyecto utilizando&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Inicializa un proyecto utilizando npm para instalar paquetes&lt;/span&gt;
npm init &lt;span class="nt"&gt;--yes&lt;/span&gt;
&lt;span class="c"&gt;# ó&lt;/span&gt;
npm init &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Después de eso instalaremos las dependencias necesarias para empezar a configurar Eslint y Prettier&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# --sabe-dev Guarda las dependencia en forma de desarrollo&lt;/span&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--save-dev&lt;/span&gt; eslint prettier eslint-config-prettier 
eslint-plugin-prettier
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  EsLint
&lt;/h3&gt;

&lt;p&gt;La forma de configurar esLint es creando un archivo de configuración el cual podemos crear o podemos utilizar un comando para crear este archivo según nuestras necesidades:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# .eslintrc.js&lt;/span&gt;
module.exports &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
  extends: &lt;span class="o"&gt;[&lt;/span&gt;
    &lt;span class="s1"&gt;'eslint:recommended'&lt;/span&gt;,
    &lt;span class="s1"&gt;'plugin:prettier/recommended'&lt;/span&gt;
  &lt;span class="o"&gt;]&lt;/span&gt;,
  rules: &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="s1"&gt;'prettier/prettier'&lt;/span&gt;: &lt;span class="s1"&gt;'warn'&lt;/span&gt;,
  &lt;span class="o"&gt;}&lt;/span&gt;,
&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;De esta manera será ESLint el que se encargará de ejecutar Prettier.&lt;/p&gt;

&lt;p&gt;O podemos utilizar el siguiente comando que nos mostrara unos pasos para tener pre configurado nuestro archivo de EsLint&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Crea el archivo eslint&lt;/span&gt;
npx eslint &lt;span class="nt"&gt;--init&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Nos mostrara una pequeña serie de pasos para crear nuestro archivo de EsLint:&lt;/p&gt;

&lt;p&gt;Primero seleccionaremos como queremos usar EsLint, si solo para revisar la sintaxis, encontrar problemas o forzar un estilo del codigo&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvtelav1z4a6napajyd9t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvtelav1z4a6napajyd9t.png" alt="Forzar estilo de codigo" width="675" height="159"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahora seleccionaremos el tipo de módulos queremos usar, si utilizar &lt;code&gt;import&lt;/code&gt; o &lt;code&gt;require&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7fevafw8pd690184vjl0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7fevafw8pd690184vjl0.png" alt="Modulos en eslint" width="554" height="140"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahora podemos seleccionar el Framework que utilizaremos en nuestro proyecto, si &lt;strong&gt;React&lt;/strong&gt;, &lt;strong&gt;VueJs&lt;/strong&gt; o &lt;strong&gt;Vanilla Javascript&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0njafakbtkpetfqx0jbf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0njafakbtkpetfqx0jbf.png" alt="FrameWork para eslint" width="558" height="145"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;También podemos seleccionar si queremos o estamos utilizando TypeScript&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjaafdmxbiqu8awa5pp8d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjaafdmxbiqu8awa5pp8d.png" alt="Typescript con Eslint" width="547" height="143"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Y ahora podemos seleccionar el tipo de &lt;strong&gt;Enviroment&lt;/strong&gt; o &lt;strong&gt;Entorno&lt;/strong&gt; para la ejecución de nuestro proyecto si en el Navegador o entorno de NodeJs&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa8gatyjvzp2ipcbxk4yj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa8gatyjvzp2ipcbxk4yj.png" alt="Entorno de web o nodejs" width="800" height="165"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Y ahora una parte un tanto importante.&lt;/p&gt;

&lt;p&gt;Podemos utilizar una guía de estilo ya definida, inspeccionar nuestros archivos JavaScript, etc&lt;/p&gt;

&lt;p&gt;En este caso utilizaremos una style guide ya definida&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjupehqqlhwsmu30x0ghf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjupehqqlhwsmu30x0ghf.png" alt="Styled Guide de eslint" width="547" height="182"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ahora puedes seleccionar que guía de estilo quieres utilizar en tu proyecto, siendo estas las mas populares, están muy bien construidas y con buenas configuraciones&lt;/p&gt;

&lt;p&gt;Note:&lt;/p&gt;

&lt;p&gt;Si estas utilizando React, una recomendación es utilizar la guía de Airbnb&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmurvm23j84jpkj3n3aay.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmurvm23j84jpkj3n3aay.png" alt="Airbnb guide" width="565" height="203"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Seleccionaremos el formato que queremos utilizar para nuestro archivo de configuración.&lt;/p&gt;

&lt;p&gt;Esto es basado en gustos o preferencias de cada proyecto, en este caso utilizaremos &lt;strong&gt;JSON&lt;/strong&gt; pero cualquier otro formato funciona de la misma manera&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhenxdusoi5f6cuf00n70.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhenxdusoi5f6cuf00n70.png" alt="formato JSON" width="566" height="223"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Después de estas opciones comprobara las dependencias necesarias, y si no están te mostrara que puedes instalar las dependencias necesarias dependiendo de la configuración antes hecha, y las colocara como dependencia de desarrollo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff0sdcuu99zqtw864ik6f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff0sdcuu99zqtw864ik6f.png" alt="Devdependencies" width="800" height="268"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Con esto tendremos nuestro archivo &lt;strong&gt;.eslintrc.json&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Prettier
&lt;/h3&gt;

&lt;p&gt;Ahora configuremos Prettier, en la misma documentacion se ha recomendado usar un diferentes formatos como JSON, YAML, TOML y JS&lt;br&gt;
En este ejemplo usaremos JSON que es lo mas sencillo para empezar a configurar&lt;/p&gt;

&lt;p&gt;Entonces crearemos un archivo &lt;strong&gt;.prettierrc&lt;/strong&gt; y dentro del archivo colocaremos las opciones que necesitamos en nuestro proyecto&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;{&lt;/span&gt;
  &lt;span class="s2"&gt;"trailingComma"&lt;/span&gt;: &lt;span class="s2"&gt;"es5"&lt;/span&gt;,
  &lt;span class="s2"&gt;"tabWidth"&lt;/span&gt;: 2,
  &lt;span class="s2"&gt;"semi"&lt;/span&gt;: &lt;span class="nb"&gt;false&lt;/span&gt;,
  &lt;span class="s2"&gt;"singleQuote"&lt;/span&gt;: &lt;span class="nb"&gt;true&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si tenemos un archivo especifico que queremos o no formatear, por ejemplo los archivos de &lt;strong&gt;Test&lt;/strong&gt;&lt;br&gt;
Podemos colocar en expresiones regulares, que se ignore todos los archivos con cierta extensión&lt;/p&gt;

&lt;p&gt;Inclusive dentro de cada cierto archivo puedes colocar ciertas opciones especificas&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;{&lt;/span&gt;
  &lt;span class="s2"&gt;"semi"&lt;/span&gt;: &lt;span class="nb"&gt;false&lt;/span&gt;,
  &lt;span class="s2"&gt;"overrides"&lt;/span&gt;: &lt;span class="o"&gt;[&lt;/span&gt;
    &lt;span class="o"&gt;{&lt;/span&gt;
      &lt;span class="s2"&gt;"files"&lt;/span&gt;: &lt;span class="s2"&gt;"*.test.js"&lt;/span&gt;,
      &lt;span class="s2"&gt;"options"&lt;/span&gt;: &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="s2"&gt;"semi"&lt;/span&gt;: &lt;span class="nb"&gt;true&lt;/span&gt;,&lt;span class="s2"&gt;"tabWidth"&lt;/span&gt;: 2
      &lt;span class="o"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;,
    &lt;span class="o"&gt;{&lt;/span&gt;
      &lt;span class="s2"&gt;"files"&lt;/span&gt;: &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"*.html"&lt;/span&gt;, &lt;span class="s2"&gt;"legacy/**/*.js"&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;,
      &lt;span class="s2"&gt;"options"&lt;/span&gt;: &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="s2"&gt;"tabWidth"&lt;/span&gt;: 4
      &lt;span class="o"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
  &lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ahora dentro de nuestro archivo de configuración podemos crear diferentes reglas las cuales ayudaran a dar un mejor estilo a nuestro código o para seguir buenas practicas&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fusd48w5jr5k522adl16t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fusd48w5jr5k522adl16t.png" alt="Buenas practicas" width="349" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Scripts
&lt;/h3&gt;

&lt;p&gt;Con todo listo podemos crear &lt;strong&gt;scripts&lt;/strong&gt; lo cual nos ayudara a automatizar el "linteo" o formatear nuestros archivos simplemente con un comando&lt;/p&gt;

&lt;p&gt;Dentro de nuestro package.json vamos a la sección de scripts, tendremos uno llamado "test" que no utilizaremos por el momento, o si ya tienes mas scripts en tu proyecto, simplemente agrega una coma y puedes colocar estas 3 opciones que explicaremos cada una de sus funciones&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsugeajc1g8pk0fkp3vjt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsugeajc1g8pk0fkp3vjt.png" alt="Scripts" width="565" height="137"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Lint&lt;/strong&gt;&lt;br&gt;
Ejecuta eslint para "lintear" y revisar la sintaxis de &lt;strong&gt;todos&lt;/strong&gt; nuestros archivos en nuestro proyecto&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Lint-fix&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ejecuta eslint con el flag &lt;strong&gt;—fix&lt;/strong&gt; que hace que si encuentra un estilo que no se sigue una regla la cual causa un conflicto con eslint, la corrige&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Format&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ejecuta Prettier para formatear todos nuestros archivos&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ahora solo ejecuta &lt;strong&gt;npm nombreDelComando&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm run lint
npm run lint-fix
npm run format
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  VScode
&lt;/h3&gt;

&lt;p&gt;Si estas utilizando el editor de código Visual Studio Code o VScode&lt;/p&gt;

&lt;p&gt;Puedes integrar &lt;strong&gt;EsLint y Prettier&lt;/strong&gt; dentro del mismo editor utilizando las extensiones con el mismo nombre:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft3el8c9mnf7nba9i4hhw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft3el8c9mnf7nba9i4hhw.png" alt="Eslint extension" width="796" height="361"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg7per4r0yfui73qofigz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg7per4r0yfui73qofigz.png" alt="Prettier" width="742" height="272"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Probablemente te aparezca con la palabra &lt;strong&gt;Install&lt;/strong&gt; le darás click ahí para instalarlas&lt;/p&gt;

&lt;p&gt;Después de que estén instaladas, nos iremos a la configuración de Visual Studio Code&lt;/p&gt;

&lt;p&gt;Puedes presionar el shortcut &lt;strong&gt;ctrl + ,&lt;/strong&gt; o en la esquina inferior donde hay un símbolo de una tuerca, darás click y darás en settings&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F727pyp0v6v2j8iywpnnh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F727pyp0v6v2j8iywpnnh.png" alt="Ajustes" width="371" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Te saldrá una ventana nueva, y arriba a la derecha estará un símbolo o icono el cual debes presionar para abrir la configuración en formato JSON ya que así es como se configura VScode&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feu62n0jm1g2rjbcc08qn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feu62n0jm1g2rjbcc08qn.png" alt="Ajustes de VsCode" width="579" height="62"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Y agregaremos estas configuraciones &lt;strong&gt;básicas&lt;/strong&gt; para tener funcionando las extensiones de Eslint y Prettier en nuestro editor sin necesidad de crear los archivos, lo cual es mas recomendable utilizar en proyectos con mas personas ya que cada desarrollador y desarrolladora tiene su propia configuración&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="s2"&gt;"editor.defaultFormatter"&lt;/span&gt;: &lt;span class="s2"&gt;"esbenp.prettier-vscode"&lt;/span&gt;,
&lt;span class="s2"&gt;"editor.formatOnSave"&lt;/span&gt;: &lt;span class="nb"&gt;true&lt;/span&gt;,
&lt;span class="s2"&gt;"editor.formatOnPaste"&lt;/span&gt;: &lt;span class="nb"&gt;true&lt;/span&gt;,
&lt;span class="s2"&gt;"editor.codeActionsOnSave"&lt;/span&gt;: &lt;span class="o"&gt;{&lt;/span&gt;
&lt;span class="s2"&gt;"source.fixAll.eslint"&lt;/span&gt;: &lt;span class="nb"&gt;true&lt;/span&gt;
 &lt;span class="o"&gt;}&lt;/span&gt;,
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;También podemos definir estilos en nuestra configuración para un lenguaje especifico:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="s2"&gt;"[javascript]"&lt;/span&gt;: &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="s2"&gt;"editor.defaultFormatter"&lt;/span&gt;: &lt;span class="s2"&gt;"esbenp.prettier-vscode"&lt;/span&gt;,
    &lt;span class="s2"&gt;"editor.formatOnSave"&lt;/span&gt;: &lt;span class="nb"&gt;true&lt;/span&gt;,
    &lt;span class="s2"&gt;"editor.tabSize"&lt;/span&gt;: 2
&lt;span class="o"&gt;}&lt;/span&gt;,
&lt;span class="s2"&gt;"[python]"&lt;/span&gt;: &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="s2"&gt;"editor.tabSize"&lt;/span&gt;: 4
&lt;span class="o"&gt;}&lt;/span&gt;,
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Y con esto tendremos listo nuestra integración de eslint y prettier en vscode :D&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>vscode</category>
      <category>javascript</category>
      <category>prettier</category>
    </item>
  </channel>
</rss>
