{"id":27203,"date":"2020-03-11T00:00:00","date_gmt":"2020-03-10T23:00:00","guid":{"rendered":"https:\/\/blexin.com\/?p=27203"},"modified":"2021-01-13T09:40:11","modified_gmt":"2021-01-13T08:40:11","slug":"vivere-senza-visual-studio-si-si-puo","status":"publish","type":"post","link":"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/","title":{"rendered":"Vivere senza Visual Studio: s\u00ec, si pu\u00f2!"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"608\" data-attachment-id=\"27210\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/attachment\/image00-2-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-2.png?fit=1024%2C608&amp;ssl=1\" data-orig-size=\"1024,608\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image00-2\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-2.png?fit=300%2C178&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-2.png?fit=1024%2C608&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-2.png?resize=1024%2C608&#038;ssl=1\" alt=\"\" class=\"wp-image-27210\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-2.png 1024w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-2-980x582.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-2-480x285.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ogni volta che partecipo ad un evento Microsoft come speaker, vedo ancora persone stranite dal fatto che utilizzo un MacBook Pro. La prima cosa che pensano \u00e8 che probabilmente faccio sviluppo mobile e che quindi avr\u00f2 una macchina virtuale Windows, con cui utilizzo Visual Studio. Quantomeno, sono finite le domande esplicite del tipo \u201cche ci fa un&nbsp;<em>microsoftiano<\/em>&nbsp;con un dispositivo Apple?\u201d. Forse le guerre di religione stanno lasciando il passo al pragmatismo, o forse finalmente comincia a diventare pi\u00f9 diffusa la notizia che dal 2016 abbiamo .NET Core, e possiamo sviluppare applicazioni ASP.NET da Mac.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una delle grandi novit\u00e0 di .NET Core \u00e8 la&nbsp;<strong>C<\/strong>ommand&nbsp;<strong>L<\/strong>ine&nbsp;<strong>I<\/strong>nterface (<strong>CLI<\/strong>), che ci permette da riga di comando di creare progetti, compilarli, eseguirli, scaricare librerie e anche pacchettizzare codice da pubblicare su NuGet. Ma si sa, gli sviluppatori Microsoft storicamente evitano come la peste due cose: JavaScript e la riga di comando. E, soprattutto, continuano ad illudersi che una preview di Visual Studio possa sostituire il risultato in esecuzione di un&#8217;applicazione. Siamo nel 2020, il mercato \u00e8 cambiato, il modo di sviluppare le applicazioni \u00e8 completamente diverso oggi, e non stare al passo pu\u00f2 essere fatale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La prima alternativa cross-platform a Visual Studio \u00e8&nbsp;<a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Visual Studio Code<\/a>. \u00c8 un editor di codice, non un IDE (Integrated Development Environment), ma ha almeno tre caratteristiche che lo rendono il mio strumento di sviluppo preferito:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u00c8 gratuito e&nbsp;<a href=\"https:\/\/github.com\/microsoft\/vscode\" target=\"_blank\" rel=\"noreferrer noopener\">Open Source<\/a>;<\/li><li>Multipiattaforma;<\/li><li>\u00c8 fortemente personalizzabile grazie alle estensioni che potete scaricare dal marketplace.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Non \u00e8 un editor qualsiasi, \u00e8 pensato per lo sviluppo, quindi ha un supporto nativo per la gestione del codice sorgente (Git), un ambiente di debug (configurabile) e lavora sul concetto di cartella. Chi lavora con Visual Studio \u00e8 abituato al concetto di&nbsp;<strong>solution<\/strong>, che \u00e8 un artefatto strettamente legato al mondo .NET. Con l\u2019utilizzo di altri stack tecnologici, ad esempio NodeJS, il concetto di soluzione non esiste, quindi Visual Studio Code preferisce lavorare su singole cartelle o workspace (insieme di cartelle).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tecnicamente, parliamo di un\u2019applicazione JavaScript che gira dentro&nbsp;<a href=\"https:\/\/www.electronjs.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Electron<\/a>, un progetto molto interessante che permette di \u201cinscatolare\u201d un&#8217;applicazione JavaScript, HTML e CSS in un contenitore Desktop multipiattaforma. Se vi interessa approfondire, ho tenuto un talk sull\u2019argomento a varie conferenze in Italia, di cui qualcuna ancora disponible su&nbsp;<a href=\"https:\/\/www.youtube.com\/watch?v=MuOarje-soo\" target=\"_blank\" rel=\"noreferrer noopener\">YouTube<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mancano, ovviamente, tutti i wizard di creazione di progetti, ma fornisce uno o pi\u00f9 terminali integrati nell\u2019applicazione (bash, Powershell, ecc.), da cui possiamo lanciare i comandi che ci servono. Se avete uno schermo molto grande, potete anche affiancare le finestre del terminale in modo da rendere pi\u00f9 agevole l\u2019avvio di diversi comandi in contemporanea.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019idea \u00e8, quindi, di partire dalle vostre esigenze e configurare l\u2019ambiente come preferite. Supponiamo, ad esempio, di essere sviluppatori C# e voler configurare Visual Studio Code per la realizzazione di applicazioni .NET Core, per prima cosa andremo ad installare i seguenti plug-in:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-dotnettools.csharp\" target=\"_blank\" rel=\"noreferrer noopener\">Estensione C# ufficiale<\/a><\/li><li><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=jchannon.csharpextensions\" target=\"_blank\" rel=\"noreferrer noopener\">C# Extensions<\/a><\/li><li><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=PKief.material-icon-theme\" target=\"_blank\" rel=\"noreferrer noopener\">Material Icon Theme<\/a><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Per vedere in funzione i plug-in, andiamo a crearci un progetto WebAPI con la CLI di .NET Core, e apriamo il progetto in Visual Studio Code:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>dotnet new webapi -o backend<\/code><br><code>code .<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Visual Studio Code si accorge che c\u2019\u00e8 un progetto .NET Core, proprio perch\u00e9 abbiamo installato l\u2019estensione ufficiale C#, e ci chiede se vogliamo configurare l\u2019ambiente per il debug (il file launch.json) e l\u2019automatizzazione dei task (task.json):<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"570\" data-attachment-id=\"27213\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/attachment\/image01-6\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-6.png?fit=1417%2C789&amp;ssl=1\" data-orig-size=\"1417,789\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image01-6\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-6.png?fit=300%2C167&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-6.png?fit=1024%2C570&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-6.png?resize=1024%2C570&#038;ssl=1\" alt=\"\" class=\"wp-image-27213\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-6-980x546.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-6-480x267.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Viene quindi creata una cartella&nbsp;<strong>.vscode&nbsp;<\/strong>con i file di configurazione:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"423\" height=\"348\" data-attachment-id=\"27215\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/attachment\/image02-5\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-5.png?fit=423%2C348&amp;ssl=1\" data-orig-size=\"423,348\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image02-5\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-5.png?fit=300%2C247&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-5.png?fit=423%2C348&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-5.png?resize=423%2C348&#038;ssl=1\" alt=\"\" class=\"wp-image-27215\" srcset=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-5.png?w=423&amp;ssl=1 423w, https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-5.png?resize=300%2C247&amp;ssl=1 300w\" sizes=\"auto, (max-width: 423px) 100vw, 423px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A questo punto ci basta mettere un punto di interruzione nel codice e lanciare il debug:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"568\" data-attachment-id=\"27217\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/attachment\/image03-4\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-4.png?fit=1420%2C787&amp;ssl=1\" data-orig-size=\"1420,787\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image03-4\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-4.png?fit=300%2C166&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-4.png?fit=1024%2C568&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-4.png?resize=1024%2C568&#038;ssl=1\" alt=\"\" class=\"wp-image-27217\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-4-980x543.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-4-480x266.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ma spingiamoci oltre:aggiungiamo un client Angular al nostro progetto direttamente dal terminale integrato, lanciando il comando di creazione di un nuovo progetto Angular:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"572\" data-attachment-id=\"27220\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/attachment\/image04-5\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-5.png?fit=1417%2C791&amp;ssl=1\" data-orig-size=\"1417,791\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image04-5\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-5.png?fit=300%2C167&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-5.png?fit=1024%2C572&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-5.png?resize=1024%2C572&#038;ssl=1\" alt=\"\" class=\"wp-image-27220\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-5-980x547.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-5-480x268.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In attesa che il wizard termini il suo lavoro, andiamo ad installare i plugin a supporto dello sviluppo in Angular. Il modo pi\u00f9 rapido \u00e8 installare&nbsp;<a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=johnpapa.angular-essentials\" target=\"_blank\" rel=\"noreferrer noopener\">Angular Essentials<\/a>, di&nbsp;<em>John Papa<\/em>, che \u00e8 a tutti gli effetti un&nbsp;<strong>Extension Pack<\/strong>, installa cio\u00e8 tutti i plug-in che vi possono essere utili nello sviluppo con Angular.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Di solito, preferisco debuggare la parte Angular direttamente nel browser, ma possiamo configurare Visual Studio Code per agganciare il debugger di Chrome. Installiamo l\u2019<a rel=\"noreferrer noopener\" href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=msjsdiag.debugger-for-chrome\" target=\"_blank\">estensione ufficiale di Microsoft<\/a>&nbsp;e nel pannello di Debug aggiungiamo una configurazione (launch.json) di tipo Launch Chrome:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"571\" data-attachment-id=\"27222\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/attachment\/image05-6\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image05-6.png?fit=1417%2C790&amp;ssl=1\" data-orig-size=\"1417,790\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image05-6\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image05-6.png?fit=300%2C167&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image05-6.png?fit=1024%2C571&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image05-6.png?resize=1024%2C571&#038;ssl=1\" alt=\"\" class=\"wp-image-27222\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image05-6-980x546.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image05-6-480x268.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A questo punto, ci basta cambiare la porta in 4200 e impostare la webroot sulla cartella frontend. Mettiamo un punto di interruzione, lanciamo il front-end dal terminale con il comando&nbsp;<strong>ng serve<\/strong>&nbsp;e agganciamo il debugger del browser dalla sezione debug:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"570\" data-attachment-id=\"27225\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/attachment\/image06-5\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image06-5.png?fit=1418%2C789&amp;ssl=1\" data-orig-size=\"1418,789\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image06-5\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image06-5.png?fit=300%2C167&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image06-5.png?fit=1024%2C570&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image06-5.png?resize=1024%2C570&#038;ssl=1\" alt=\"\" class=\"wp-image-27225\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image06-5-980x545.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image06-5-480x267.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"572\" data-attachment-id=\"27227\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/attachment\/image07-5\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image07-5.png?fit=1417%2C791&amp;ssl=1\" data-orig-size=\"1417,791\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image07-5\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image07-5.png?fit=300%2C167&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image07-5.png?fit=1024%2C572&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image07-5.png?resize=1024%2C572&#038;ssl=1\" alt=\"\" class=\"wp-image-27227\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image07-5-980x547.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image07-5-480x268.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Possiamo anche chiedere a Visual Studio Code di lanciare per noi il front-end, utilizzando lo script&nbsp;<strong>npm start<\/strong>&nbsp;da un apposito task nel file tasks.json:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\n{\n\u00a0\u00a0\u00a0\u00a0&quot;version&quot;: &quot;2.0.0&quot;,\n\u00a0\u00a0\u00a0\u00a0&quot;tasks&quot;: &#x5B;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u2026\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;label&quot;: &quot;start-frontend&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;type&quot;: &quot;npm&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;script&quot;: &quot;start&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;path&quot;: &quot;frontend\/&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;isBackground&quot;: true,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;problemMatcher&quot;: {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;owner&quot;: &quot;typescript&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;source&quot;: &quot;ts&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;pattern&quot;: &quot;$tsc&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;background&quot;: {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;activeOnStart&quot;: true,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;beginsPattern&quot;: {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;regexp&quot;: &quot;(.*?)&quot;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;endsPattern&quot;: {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;regexp&quot;: &quot;Compiled&quot;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0]\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">La sezione&nbsp;<strong>problemMatcher<\/strong>&nbsp;ci permette di capire quando un task \u00e8 finito anche se, in realt\u00e0, resta in attesa, nel nostro caso quando l\u2019output contiene \u201cCompiled\u201d. A quel punto, possiamo aprire il browser e agganciare il debugger utilizzando la configurazione precedente, a cui aggiungiamo il&nbsp;<strong>preLaunchTask<\/strong>&nbsp;con il nome del task appena creato:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\n{\n\u00a0\u00a0\u00a0&quot;type&quot;: &quot;chrome&quot;,\n\u00a0\u00a0\u00a0&quot;request&quot;: &quot;launch&quot;,\n\u00a0\u00a0\u00a0&quot;preLaunchTask&quot;: &quot;start-frontend&quot;,\n\u00a0\u00a0\u00a0&quot;name&quot;: &quot;Launch Chrome&quot;,\n\u00a0\u00a0\u00a0&quot;url&quot;: &quot;http:\/\/localhost:4200&quot;,\n\u00a0\u00a0\u00a0&quot;webRoot&quot;: &quot;${workspaceFolder}\/frontend&quot;\n},\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Una volta ultimata la nostra applicazione arriva il momento di distribuirla. Utilizzate Azure? Niente di pi\u00f9 semplice: installiamo il plug-in&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.vscode-node-azure-pack\" target=\"_blank\">Azure Tools<\/a>, che aggiunge un\u2019intera nuova sezione al nostro editor:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"598\" data-attachment-id=\"27230\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/attachment\/image08-4\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image08-4.png?fit=1562%2C912&amp;ssl=1\" data-orig-size=\"1562,912\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image08-4\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image08-4.png?fit=300%2C175&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image08-4.png?fit=1024%2C598&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image08-4.png?resize=1024%2C598&#038;ssl=1\" alt=\"\" class=\"wp-image-27230\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image08-4-980x572.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image08-4-480x280.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Posso continuare all\u2019infinito, aggiungendo il supporto per Docker e Kubernetes per esempio, ma penso di aver reso l\u2019idea. Finiamo con altre due funzionalit\u00e0 senza le quali ormai la mia vita da sviluppatore, docente e speaker non sarebbe la stessa. La prima \u00e8 la possibilit\u00e0 di crearci i nostri snippet, semplicemente cliccando sul menu principale, sezione Preferences &gt; Users Snippets: vi sar\u00e0 richiesto di scegliere il linguaggio per il quale volete creare degli snippet, in modo da aprire per voi il corrispondente file JSON di configurazione:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"578\" data-attachment-id=\"27232\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/attachment\/image09-3\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image09-3.png?fit=1687%2C953&amp;ssl=1\" data-orig-size=\"1687,953\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image09-3\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image09-3.png?fit=300%2C169&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image09-3.png?fit=1024%2C578&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image09-3.png?resize=1024%2C578&#038;ssl=1\" alt=\"\" class=\"wp-image-27232\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image09-3-980x554.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image09-3-480x271.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Creiamo ad esempio uno snippet C# che aggiunge la configurazione di un DbContext EntityFramework che usa SqlServer come database:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\n&quot;DbContext Sql Server&quot;: {\n\u00a0\u00a0\u00a0&quot;prefix&quot;: &quot;demo-add-dbcontext-sqlserver&quot;,\n\u00a0\u00a0\u00a0&quot;body&quot;: &#x5B;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;var connection = @\\&quot;Server=$1;Database=$2;User=$3;Password=$4\\&quot;;&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;services.AddDbContext&lt;$5&gt;(&quot;,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&quot;\\topt =&gt; opt.UseSqlServer(connection));&quot;\n\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0&quot;description&quot;: &quot;DbContext Sql Server&quot;\n}\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Diamo un nome allo snippet, specifichiamo il prefisso (nel nostro caso&nbsp;<em>demo-add-dbcontext-sqlserver<\/em>) con cui vogliamo richiamarlo, scriviamo sotto forma di stringa il corpo dello snippet, aggiungiamo una descrizione che verr\u00e0 riportata dall\u2019IntelliSense e il gioco \u00e8 fatto. Molto utile la possibilit\u00e0 di usare i segnaposto numerati sfruttando il simbolo $: ci permette di aggiungere nel body i punti che vogliamo rendere personalizzabili e l\u2019ordine delle tabulazioni con cui spostarci tra le modifiche:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"536\" data-attachment-id=\"27235\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/attachment\/image10-2-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image10-2.png?fit=1472%2C770&amp;ssl=1\" data-orig-size=\"1472,770\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image10-2\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image10-2.png?fit=300%2C157&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image10-2.png?fit=1024%2C536&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image10-2.png?resize=1024%2C536&#038;ssl=1\" alt=\"\" class=\"wp-image-27235\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image10-2-980x513.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image10-2-480x251.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Se mi avete visto a qualche evento fare live code, adesso conoscete il mio segreto!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ultimo, ma non per importanza, \u00e8 il&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=MS-vsliveshare.vsliveshare\" target=\"_blank\">Live Share<\/a>: la possibilit\u00e0 di lavorare con un vostro collega sullo stesso sorgente in&nbsp;<strong><em>Pair Programming<\/em><\/strong>&nbsp;a distanza, una delle ragioni che ha portato Facebook a scegliere Visual Studio Code come&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/developers.facebook.com\/blog\/post\/2019\/11\/19\/facebook-microsoft-partnering-remote-development\/\" target=\"_blank\">tool di sviluppo<\/a>. Installando l\u2019estensione e cliccando sull\u2019icona del live share nella barra di stato nel footer, vi verr\u00e0 richiesto di autenticarvi con un account Microsoft o GitHub, a quel punto sarete connessi alla piattaforma e verr\u00e0 copiato negli appunti il link da inviare al vostro collega per cominciare la sessione di condivisione:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"509\" data-attachment-id=\"27237\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/attachment\/image11-2-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image11-2.png?fit=1408%2C700&amp;ssl=1\" data-orig-size=\"1408,700\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image11-2\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image11-2.png?fit=300%2C149&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image11-2.png?fit=1024%2C509&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image11-2.png?resize=1024%2C509&#038;ssl=1\" alt=\"\" class=\"wp-image-27237\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image11-2-980x487.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image11-2-480x239.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"635\" data-attachment-id=\"27239\" data-permalink=\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/attachment\/image12-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image12-1.png?fit=1583%2C982&amp;ssl=1\" data-orig-size=\"1583,982\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image12-1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image12-1.png?fit=300%2C186&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image12-1.png?fit=1024%2C635&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image12-1.png?resize=1024%2C635&#038;ssl=1\" alt=\"\" class=\"wp-image-27239\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image12-1-980x608.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image12-1-480x298.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ci tengo a concludere, chiarendo che questo modo di sviluppare non \u00e8 per tutti, richiede una buona conoscenza della riga di comando e di cosa avviene dietro le quinte. In un ambiente di lavoro, la produttivit\u00e0 \u00e8 fondamentale, quindi se Visual Studio vi rende pi\u00f9 produttivi che ben venga, anche se, a mio parare, non \u00e8 una scusa per ignorare quello che succede dietro le quinte!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Happy coding!<\/p>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Vediamo insieme come .NET Core abbia reso Visual Studio solo una delle possibili scelte tra i tool di sviluppo software<\/p>\n","protected":false},"author":196716248,"featured_media":27207,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_crdt_document":"","inline_featured_image":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false},"categories":[688637374],"tags":[688637414,688637382,688637446,688637445,688637389],"class_list":["post-27203","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-asp-net-core","tag-c","tag-tools","tag-vscode","tag-web"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Vivere senza Visual Studio: s\u00ec, si pu\u00f2! - Blexin<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Vivere senza Visual Studio: s\u00ec, si pu\u00f2! - Blexin\" \/>\n<meta property=\"og:description\" content=\"Vediamo insieme come .NET Core abbia reso Visual Studio solo una delle possibili scelte tra i tool di sviluppo software\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/\" \/>\n<meta property=\"og:site_name\" content=\"Blexin\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-10T23:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-01-13T08:40:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i2.wp.com\/blexin.com\/wp-content\/uploads\/2020\/03\/image00.png?fit=1024%2C608\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"608\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Michele Aponte\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michele Aponte\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/\"},\"author\":{\"name\":\"Michele Aponte\",\"@id\":\"https:\/\/blexin.com\/it\/#\/schema\/person\/cdc5540c3b6edcacd8d760669e797005\"},\"headline\":\"Vivere senza Visual Studio: s\u00ec, si pu\u00f2!\",\"datePublished\":\"2020-03-10T23:00:00+00:00\",\"dateModified\":\"2021-01-13T08:40:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/\"},\"wordCount\":1225,\"image\":{\"@id\":\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/03\/image00.png?fit=1024%2C608&ssl=1\",\"keywords\":[\"Asp.net core\",\"C#\",\"Tools\",\"VScode\",\"Web\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/\",\"url\":\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/\",\"name\":\"Vivere senza Visual Studio: s\u00ec, si pu\u00f2! - Blexin\",\"isPartOf\":{\"@id\":\"https:\/\/blexin.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/03\/image00.png?fit=1024%2C608&ssl=1\",\"datePublished\":\"2020-03-10T23:00:00+00:00\",\"dateModified\":\"2021-01-13T08:40:11+00:00\",\"author\":{\"@id\":\"https:\/\/blexin.com\/it\/#\/schema\/person\/cdc5540c3b6edcacd8d760669e797005\"},\"breadcrumb\":{\"@id\":\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/03\/image00.png?fit=1024%2C608&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/03\/image00.png?fit=1024%2C608&ssl=1\",\"width\":1024,\"height\":608},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blexin.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Vivere senza Visual Studio: s\u00ec, si pu\u00f2!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blexin.com\/it\/#website\",\"url\":\"https:\/\/blexin.com\/it\/\",\"name\":\"Blexin\",\"description\":\"Con noi \u00e8 semplice\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blexin.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blexin.com\/it\/#\/schema\/person\/cdc5540c3b6edcacd8d760669e797005\",\"name\":\"Michele Aponte\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/blexin.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/32138aff568f2063b34d27a23cef27e09f3159bfcadea5ea05599c499cf4342f?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/32138aff568f2063b34d27a23cef27e09f3159bfcadea5ea05599c499cf4342f?s=96&d=identicon&r=g\",\"caption\":\"Michele Aponte\"},\"url\":\"https:\/\/blexin.com\/it\/author\/michele-aponteblexin-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Vivere senza Visual Studio: s\u00ec, si pu\u00f2! - Blexin","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/","og_locale":"it_IT","og_type":"article","og_title":"Vivere senza Visual Studio: s\u00ec, si pu\u00f2! - Blexin","og_description":"Vediamo insieme come .NET Core abbia reso Visual Studio solo una delle possibili scelte tra i tool di sviluppo software","og_url":"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/","og_site_name":"Blexin","article_published_time":"2020-03-10T23:00:00+00:00","article_modified_time":"2021-01-13T08:40:11+00:00","og_image":[{"width":1024,"height":608,"url":"https:\/\/i2.wp.com\/blexin.com\/wp-content\/uploads\/2020\/03\/image00.png?fit=1024%2C608","type":"image\/png"}],"author":"Michele Aponte","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"Michele Aponte","Tempo di lettura stimato":"6 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/#article","isPartOf":{"@id":"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/"},"author":{"name":"Michele Aponte","@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/cdc5540c3b6edcacd8d760669e797005"},"headline":"Vivere senza Visual Studio: s\u00ec, si pu\u00f2!","datePublished":"2020-03-10T23:00:00+00:00","dateModified":"2021-01-13T08:40:11+00:00","mainEntityOfPage":{"@id":"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/"},"wordCount":1225,"image":{"@id":"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/03\/image00.png?fit=1024%2C608&ssl=1","keywords":["Asp.net core","C#","Tools","VScode","Web"],"articleSection":["Blog"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/","url":"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/","name":"Vivere senza Visual Studio: s\u00ec, si pu\u00f2! - Blexin","isPartOf":{"@id":"https:\/\/blexin.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/#primaryimage"},"image":{"@id":"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/03\/image00.png?fit=1024%2C608&ssl=1","datePublished":"2020-03-10T23:00:00+00:00","dateModified":"2021-01-13T08:40:11+00:00","author":{"@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/cdc5540c3b6edcacd8d760669e797005"},"breadcrumb":{"@id":"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/#primaryimage","url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/03\/image00.png?fit=1024%2C608&ssl=1","contentUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/03\/image00.png?fit=1024%2C608&ssl=1","width":1024,"height":608},{"@type":"BreadcrumbList","@id":"https:\/\/blexin.com\/it\/blog\/vivere-senza-visual-studio-si-si-puo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blexin.com\/it\/"},{"@type":"ListItem","position":2,"name":"Vivere senza Visual Studio: s\u00ec, si pu\u00f2!"}]},{"@type":"WebSite","@id":"https:\/\/blexin.com\/it\/#website","url":"https:\/\/blexin.com\/it\/","name":"Blexin","description":"Con noi \u00e8 semplice","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blexin.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/cdc5540c3b6edcacd8d760669e797005","name":"Michele Aponte","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/32138aff568f2063b34d27a23cef27e09f3159bfcadea5ea05599c499cf4342f?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/32138aff568f2063b34d27a23cef27e09f3159bfcadea5ea05599c499cf4342f?s=96&d=identicon&r=g","caption":"Michele Aponte"},"url":"https:\/\/blexin.com\/it\/author\/michele-aponteblexin-com\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/03\/image00.png?fit=1024%2C608&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pcyUBx-74L","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts\/27203","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/users\/196716248"}],"replies":[{"embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/comments?post=27203"}],"version-history":[{"count":10,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts\/27203\/revisions"}],"predecessor-version":[{"id":27829,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts\/27203\/revisions\/27829"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/media\/27207"}],"wp:attachment":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/media?parent=27203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/categories?post=27203"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/tags?post=27203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}