<?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: Cristian Landaez</title>
    <description>The latest articles on DEV Community by Cristian Landaez (@caraplana1).</description>
    <link>https://dev.to/caraplana1</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%2F564603%2F33bd8f4d-beaa-4c5b-8d96-e011a04a34d6.jpeg</url>
      <title>DEV Community: Cristian Landaez</title>
      <link>https://dev.to/caraplana1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/caraplana1"/>
    <language>en</language>
    <item>
      <title>5 Reasons to try Godot game engine</title>
      <dc:creator>Cristian Landaez</dc:creator>
      <pubDate>Tue, 09 Aug 2022 14:33:00 +0000</pubDate>
      <link>https://dev.to/caraplana1/5-reasons-to-try-godot-game-engine-4hla</link>
      <guid>https://dev.to/caraplana1/5-reasons-to-try-godot-game-engine-4hla</guid>
      <description>&lt;p&gt;If you are a indie dev looking for a new tool to add and never heard about godot before, then this is your lucky day. Today I'm gonna talk you about godot. Godot is a free, open source game engine focus on easy of use and empower the developer. I'm gonna tell you 5 reason why you should try godot today. &lt;/p&gt;

&lt;h2&gt;
  
  
  Index
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Free and open source&lt;/li&gt;
&lt;li&gt;Easy to learn&lt;/li&gt;
&lt;li&gt;Node system&lt;/li&gt;
&lt;li&gt;GDScript&lt;/li&gt;
&lt;li&gt;Unity alternative&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Free and open source
&lt;/h2&gt;

&lt;p&gt;As I told you before, godot is 100% free and open source. The development is by and for the community and will always be for the community. All that you make with godot is 100% yours, and all the features are free to use without a barriers. &lt;/p&gt;

&lt;h2&gt;
  
  
  Easy to learn
&lt;/h2&gt;

&lt;p&gt;If you would like to start making games, as a hobby, full time or just being curious, godot is an excellent tool to start with. Godot is an excellent engine to &lt;a href="https://www.youtube.com/c/Gdquest"&gt;learn the basics&lt;/a&gt; and a has an excellent &lt;a href="https://docs.godotengine.org/en/stable/"&gt;documentation&lt;/a&gt; to start with. You can find really good &lt;a href="https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html"&gt;2D&lt;/a&gt; and &lt;a href="https://docs.godotengine.org/en/stable/getting_started/first_3d_game/index.html"&gt;3D&lt;/a&gt; tutorials. The installation process is quite simple as well, just go to &lt;a href="http://godotengine.org/download"&gt;Godot&lt;/a&gt; page to download and get the right version for you (standard or mono version). You don't need to install godot, is a executable file, just run it and create a project. &lt;/p&gt;

&lt;p&gt;Once you create and open a project you will notice the simple layout and all the tools you have like: a 2D and 3D editor and a code editor for gdscript with auto-complete.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JiOtDkoO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://docs.godotengine.org/en/3.0/_images/editor_ui_intro_editor_05_3d_workspace.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JiOtDkoO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://docs.godotengine.org/en/3.0/_images/editor_ui_intro_editor_05_3d_workspace.png" alt="editor" width="880" height="473"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Node system
&lt;/h2&gt;

&lt;p&gt;In godot, every object in the scene is a node. The node system use a composite design pattern that gives us the power to create complex entities in godot. There are multiple types of nodes, form UI to physics and game logic that allow you to tweak your game. This system is really powerful and flexible, and will let you make your vision comes true.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oYjBist4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://docs.godotengine.org/en/stable/_images/nodes_and_scenes_nodes.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oYjBist4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://docs.godotengine.org/en/stable/_images/nodes_and_scenes_nodes.png" alt="nodes" width="301" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  GDScript
&lt;/h2&gt;

&lt;p&gt;One of the most incredible features of Godot is one of his scripting languages. Even though you can use C# in Godot and C++, and are fully supported, GDScript is a language created exclusively for the engine. Being a python-like language makes GDScript easy to learn, write and read. If you already know python jumping to GDScript will be simple. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5yqwsMfj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://godotengine.org/storage/app/uploads/public/5f2/966/b6d/5f2966b6dca1a217164497.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5yqwsMfj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://godotengine.org/storage/app/uploads/public/5f2/966/b6d/5f2966b6dca1a217164497.png" alt="gdscript" width="713" height="570"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Unity alternative
&lt;/h2&gt;

&lt;p&gt;For last but no least we have an excellent alternative for Unity engine. If you have seen some of the latest unity news, then you know that the company behind the engine is more interested in profits than making the engine better. As I told you before godot is focus in the community and not in making profits.&lt;/p&gt;

&lt;p&gt;The node system in godot is really similar to unity's game components. The support for C# lets use your previous knowledge in godot and will alow you a really easy transition to Godot.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;If you want to see some ganes made in godot click &lt;a href="https://itch.io/games/tag-godot"&gt;here&lt;/a&gt;. As you can see Godot is a great tool for create 2D and 3D games. I hope that with this post it has helped you find a great tool to learn and develop games. If you have another reason to why learn Godot, tell me in the comment section. See you soon and good luck making games. &lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>opensource</category>
      <category>csharp</category>
      <category>godot</category>
    </item>
    <item>
      <title>Debugging .NET in VSCode</title>
      <dc:creator>Cristian Landaez</dc:creator>
      <pubDate>Sat, 12 Mar 2022 15:06:55 +0000</pubDate>
      <link>https://dev.to/caraplana1/debugging-net-in-vscode-128i</link>
      <guid>https://dev.to/caraplana1/debugging-net-in-vscode-128i</guid>
      <description>&lt;p&gt;Hello and welcome! Today, I'm gonna show you how to use the vscode debugger and how to configure it for all your needs. I hope this article results useful to you and let's go!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creating the project&lt;/li&gt;
&lt;li&gt;
Debug your first project

&lt;ul&gt;
&lt;li&gt;Creating debugger files&lt;/li&gt;
&lt;li&gt;Adding breakpoints&lt;/li&gt;
&lt;li&gt;Running the debugger&lt;/li&gt;
&lt;li&gt;Playing with the Debugger&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

Debugging Multiple Projects

&lt;ul&gt;
&lt;li&gt;Setting Up More Projects&lt;/li&gt;
&lt;li&gt;Tasks.json&lt;/li&gt;
&lt;li&gt;Add Debug Configuration&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Conclusions&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Creating the project
&lt;/h2&gt;

&lt;p&gt;First, We need to create a folder called Debugger to save all in there. This is needed to keep the .vscode folder, that holds the debugger files, and have everything in an unique folder.&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="nb"&gt;mkdir &lt;/span&gt;Debugger
&lt;span class="nb"&gt;cd &lt;/span&gt;Debugger 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, create a net6.0 console project which we will use to see the debugger in action and open vscode.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dotnet new console &lt;span class="nt"&gt;-n&lt;/span&gt; Proj1
code &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Debug your first project.
&lt;/h2&gt;

&lt;p&gt;After opening vscode you should see this in Program.cs file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="c1"&gt;// See https://aka.ms/new-console-template for more information&lt;/span&gt;
&lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, World!"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If not so, the code is ok too. This is just the template for console projects in net6.0, but the debugger works fine with all version of .NET.&lt;/p&gt;

&lt;h3&gt;
  
  
  Creating debugger files
&lt;/h3&gt;

&lt;p&gt;If you haven't installed the extension for C# yet, you can go to the extension bar, search for C# and install the extension.&lt;/p&gt;

&lt;p&gt;If you already have the extension you should see this message after omnisharp finish loading.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fz9hg4y2tp0feaz0g0dql.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fz9hg4y2tp0feaz0g0dql.png" alt="message"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And if you press Yes the vscode will create the tasks.json and launch.json files to run the debugger.&lt;/p&gt;

&lt;p&gt;Or&lt;/p&gt;

&lt;p&gt;If you don't see the window you can press &lt;code&gt;Ctrl&lt;/code&gt;+&lt;code&gt;shift&lt;/code&gt;+&lt;code&gt;p&lt;/code&gt; to open the command palette and write &lt;code&gt;.NET: Generate Assests for Build and Debug&lt;/code&gt; and execute the command.&lt;/p&gt;

&lt;p&gt;Or &lt;/p&gt;

&lt;p&gt;Go to the debugger bar and press &lt;code&gt;create a launch.json file&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media.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%2Fnddtjixzoo7nrnghc7gd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fnddtjixzoo7nrnghc7gd.png" alt="Create launch.json"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and select your project target framework. In this case &lt;code&gt;.NET 5+ and .NET Core&lt;/code&gt;.&lt;br&gt;
&lt;a href="https://media.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%2Fkxubh4e60ys05bmjagrr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fkxubh4e60ys05bmjagrr.png" alt="Select TargetFramework"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Adding breakpoints
&lt;/h3&gt;

&lt;p&gt;A breakpoint is a flag that you set in a line of code to stop the program before the line is executed. &lt;/p&gt;

&lt;p&gt;So, go to Program.cs file and add the following code below the hello world.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="p"&gt;&amp;lt;&lt;/span&gt; &lt;span class="m"&gt;6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;++)&lt;/span&gt;
    &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Bye, World!"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then go to the line below the for-loop and add a breakpoint by pressing &lt;code&gt;f9&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;A red point will show at the left of your editor like this.&lt;br&gt;
&lt;a href="https://media.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%2Fa5m9g51ju3fbphg4pzdn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fa5m9g51ju3fbphg4pzdn.png" alt="Breakpoints"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you press &lt;code&gt;Ctrl&lt;/code&gt;+&lt;code&gt;f5&lt;/code&gt; the program will build and execute without the debugger and print the followed in the debug console.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hello, World!
1
2
3
4
5
Bye, World!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Running the Debugger
&lt;/h3&gt;

&lt;p&gt;If you press &lt;code&gt;f5&lt;/code&gt; the project will be build and after that the debugger will be launch. Then the Debug console will appear. In this console you can also change the variables values. Also will display the debugger bar showing all variables, the call stacks and breakpoints.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Ff3jc17q2cshmfdqxnigc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Ff3jc17q2cshmfdqxnigc.png" alt="Debug bar"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And the code will stop at the breakpoint.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Fta0t17tcwv9hacenj2bn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fta0t17tcwv9hacenj2bn.png" alt="Stop code"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Playing with the debugger
&lt;/h3&gt;

&lt;p&gt;You will see a highlighted yellow line that show the next line of code to be executed.&lt;/p&gt;

&lt;p&gt;You also see this bar&lt;br&gt;
&lt;a href="https://media.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%2Flebgzdk45vbewdrabocg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Flebgzdk45vbewdrabocg.png" alt="Debugging bar"&gt;&lt;/a&gt;&lt;br&gt;
From left to right, the buttons have this functions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Continue&lt;/strong&gt;&lt;code&gt;f5&lt;/code&gt;: Continues the execution until the next breakpoint.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Step Over&lt;/strong&gt;&lt;code&gt;f10&lt;/code&gt;: Execute just the next line to be executed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Step Into&lt;/strong&gt;&lt;code&gt;f11&lt;/code&gt;: jump into the function in the highlighted yellow line.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Step Out&lt;/strong&gt;&lt;code&gt;Shift&lt;/code&gt;+&lt;code&gt;f11&lt;/code&gt;: jump out of the function to the last stack call.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Restart&lt;/strong&gt;&lt;code&gt;Ctrl&lt;/code&gt;+&lt;code&gt;Shift&lt;/code&gt;+&lt;code&gt;f5&lt;/code&gt;: Restart the the building and re launch the debugger.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stop&lt;/strong&gt;&lt;code&gt;Shift&lt;/code&gt;+&lt;code&gt;f5&lt;/code&gt;: Stop the program.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  The debug console
&lt;/h3&gt;

&lt;p&gt;Also with the debug console you can change the value of the variables.&lt;/p&gt;

&lt;p&gt;If you write the following expression in the debug console RELP.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;i = -3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You will see in the debugger bar that the variable "i" changes his value from 0 to -3. If you finish executing all the program the final output should be the next.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hello, World!
-3
-2
-1
0
1
2
3
4
5
Bye, World!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Debugging Multiple Projects
&lt;/h2&gt;

&lt;p&gt;If you ever have using Visual Studio, and had more than one project, you have notice the ease of changing the debugger configuration out of the box. In vscode we need to config the debugger to have something similar.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setting Up More Projects
&lt;/h3&gt;

&lt;p&gt;Let's create another console project, a solution file and add the projects to the solution with the following lines.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dotnet new console &lt;span class="nt"&gt;-n&lt;/span&gt; Proj2
dotnet new sln
dotnet sln add &lt;span class="k"&gt;**&lt;/span&gt;/&lt;span class="k"&gt;*&lt;/span&gt;proj
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Tasks.json
&lt;/h3&gt;

&lt;p&gt;Now, we need to modify the tasks.json file, specifically, the build task.&lt;br&gt;
The tasks.json file is used to automate scripts execution and process execution like build, test and publish. We need change the build task so it builds all the solution and not just the Proj1.csproj.&lt;/p&gt;

&lt;p&gt;So open the vscode/tasks.json file and you should see this tasks in the file.&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="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"label"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"build"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"dotnet"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"process"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"build"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"${workspaceFolder}/Proj1/Proj1.csproj"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"/property:GenerateFullPaths=true"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"/consoleloggerparameters:NoSummary"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"problemMatcher"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"$msCompile"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And just remove the Proj1.csproj direction from the task, like this.&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="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"label"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"build"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"dotnet"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"process"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"build"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"${workspaceFolder}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"/property:GenerateFullPaths=true"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"/consoleloggerparameters:NoSummary"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"problemMatcher"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"$msCompile"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now vscode builds all the solution and you don't need to build every projects manually.&lt;/p&gt;

&lt;h3&gt;
  
  
  Add Debug Configuration
&lt;/h3&gt;

&lt;p&gt;Now, you need to add a new configuration to launch.json. Just go to the debug bar and select &lt;code&gt;Add Configuration...&lt;/code&gt; like this.&lt;br&gt;
&lt;a href="https://media.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%2F3jpzisez7kq1y5wpwjo9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F3jpzisez7kq1y5wpwjo9.png" alt="Add Configuration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And will asks you to select what type of configuration you want&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.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%2Ffq3slurjc5g13znzakc8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Ffq3slurjc5g13znzakc8.png" alt="Debug config"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After you select the configuration change the name of the configuration and the program argument to "${workspaceFolder}//bin/Debug//.dll", like this.&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="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Proj2(Debug)"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"coreclr"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"request"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"launch"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"preLaunchTask"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"build"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"program"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"${workspaceFolder}/Proj2/bin/Debug/net6.0/Proj2.dll"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[],&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"cwd"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"${workspaceFolder}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"stopAtEntry"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"console"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"internalConsole"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you inspected the file for your self you already have notice another arguments like args, to add arguments when the debugger launch; stopAtEntry, if you want to stop at the first line of code of the program and console, to select what console you can use to debug. &lt;/p&gt;

&lt;p&gt;And then you can see the configuration added to the debug bar and changed as you wish.&lt;br&gt;
&lt;a href="https://media.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%2F6fhfta3z25atqclmoje6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2F6fhfta3z25atqclmoje6.png" alt="Proj2(Debug)"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusions
&lt;/h2&gt;

&lt;p&gt;Well, we learn in this article how to use the debugger and configure by your self for c#. I hope this article helps you with your developer journey.&lt;/p&gt;

&lt;p&gt;Thank you for read my article and see you soon!!!&lt;/p&gt;

</description>
      <category>dotnet</category>
      <category>vscode</category>
      <category>tutorial</category>
      <category>csharp</category>
    </item>
    <item>
      <title>VsCode extensions for .NET</title>
      <dc:creator>Cristian Landaez</dc:creator>
      <pubDate>Thu, 10 Feb 2022 03:29:21 +0000</pubDate>
      <link>https://dev.to/caraplana1/vscode-extensions-for-net-development-3gn0</link>
      <guid>https://dev.to/caraplana1/vscode-extensions-for-net-development-3gn0</guid>
      <description>&lt;p&gt;So you start develop in .Net. Most of courses and tutorial told you to install Visual Studio 2019/2022 but, if you are like me, your computer is really crappy. Luckily for us we don't need Visual Studio to work with .Net. &lt;/p&gt;

&lt;p&gt;This works not only in windows, limitation that it does has visual studio, but with linux and macos to.&lt;/p&gt;

&lt;p&gt;In this tutotial I'll show you some extensions to work with .net and hope it suits your needs.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install .Net&lt;/li&gt;
&lt;li&gt;Install vscode&lt;/li&gt;
&lt;li&gt;C# Extensions&lt;/li&gt;
&lt;li&gt;General .Net Extensions&lt;/li&gt;
&lt;li&gt;General VsCode extensions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  .NET 6
&lt;/h2&gt;

&lt;p&gt;.Net is the develop platform to build applications and with .net 6 we can develop tons of differents applications.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RSbnHM7W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2021/11/dotnet-unified-platform.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RSbnHM7W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://devblogs.microsoft.com/dotnet/wp-content/uploads/sites/10/2021/11/dotnet-unified-platform.png" alt=".Net" width="720" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see we can develop from desktop to mobile. Sadly we can't make xamarin applications without of Visual Studio, but we can make anything else.&lt;/p&gt;

&lt;p&gt;You can download .net 6 &lt;a href="https://dotnet.microsoft.com/en-us/download"&gt;here&lt;/a&gt; to windows, macos X64, macos arm and linux following the instructions.&lt;/p&gt;

&lt;h2&gt;
  
  
  VScode
&lt;/h2&gt;

&lt;p&gt;You first need to download vscode &lt;a href="https://code.visualstudio.com/"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Next we will install the extensions for vscode&lt;/p&gt;

&lt;h3&gt;
  
  
  C# Development
&lt;/h3&gt;

&lt;p&gt;We need a couple of extension to have a good experience with c#.&lt;/p&gt;

&lt;h4&gt;
  
  
  C#
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BnEi9Etu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x10ybdhbrjpcleh9337x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BnEi9Etu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x10ybdhbrjpcleh9337x.png" alt="C# marketplace extension" width="880" height="155"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This extension gives you great tools to edit c#:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Debugger. &lt;/li&gt;
&lt;li&gt;Syntax Highlighting.&lt;/li&gt;
&lt;li&gt;IntelliSense.&lt;/li&gt;
&lt;li&gt;Go to Definition.&lt;/li&gt;
&lt;li&gt;Find All References.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  C# XML Documentation Comments
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LLYqBxfh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lsbsiy0x8vcyoqwne74a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LLYqBxfh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lsbsiy0x8vcyoqwne74a.png" alt="XMl documentation marketplace" width="880" height="168"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can document your code for your editor/ide with xml, but recall all the tags and possibles attributes is really painful.&lt;br&gt;
So, thanks to this extension we just need to code &lt;code&gt;///&lt;/code&gt; and all tags will be automatically generated.&lt;/p&gt;

&lt;h4&gt;
  
  
  Roslynator
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--a0e6nulT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5qbpcw6wkkirnkmqazxv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--a0e6nulT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5qbpcw6wkkirnkmqazxv.png" alt="Roslynator marketplace extension" width="880" height="173"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is really powerful. This extension gives you analyzers, refactors and fixes for you c# code in one click.&lt;/p&gt;

&lt;h4&gt;
  
  
  C# Extensions
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4HS5iL4K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q4xnu9hout4i0o2w1lp3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4HS5iL4K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q4xnu9hout4i0o2w1lp3.png" alt="C# extensions" width="873" height="174"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is absolutely great! Brings the ease of create classes, interfaces and more without the need of custom snippets.&lt;/p&gt;

&lt;h4&gt;
  
  
  C# Namespace Autocompletion
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cifuvd_2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m0q6qsnst4cycacpgemz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cifuvd_2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m0q6qsnst4cycacpgemz.png" alt="Image description" width="880" height="180"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Helps you to complete an appropriated namespace for your code. &lt;/p&gt;

&lt;h3&gt;
  
  
  General .Net
&lt;/h3&gt;

&lt;p&gt;This extension are not exclusive for C#, they work for all .net languages.&lt;/p&gt;

&lt;h4&gt;
  
  
  .NET Core Add Reference
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vSOsGKhM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sjjmwmlxc9fqwqh4jev4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vSOsGKhM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sjjmwmlxc9fqwqh4jev4.png" alt="Add Reference" width="880" height="167"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is that simple. Adds a project reference to another with just two clicks.&lt;/p&gt;

&lt;h4&gt;
  
  
  MSBuild project tools
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WbeficQA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iqfmusw4q3wfmtqhq20e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WbeficQA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iqfmusw4q3wfmtqhq20e.png" alt="Image description" width="880" height="179"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This tool is cool to inspect your &lt;code&gt;.[cs|fs|vb]proj&lt;/code&gt; file, also an autocomplete for &lt;code&gt;&amp;lt;packageReference&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;

&lt;h4&gt;
  
  
  .NET Core Snippet Pack
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ivRJpmRG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7rc2qxtgpnpmtrl584th.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ivRJpmRG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7rc2qxtgpnpmtrl584th.png" alt="Snippet" width="880" height="162"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We don't have class templates like in visual studio, we need to write every piece of code, but, with this extension, we can save a lot of time with the snippets for all kinds of .net projects.&lt;/p&gt;

&lt;h4&gt;
  
  
  .NET Core Tools
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hRY9d4qI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0l06ql9uk599dasr34fq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hRY9d4qI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0l06ql9uk599dasr34fq.png" alt="Build, test and run" width="873" height="179"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you don't like the console you will love this. &lt;br&gt;
It is a simple extension, builds, runs and test your projects with a click in the project file. So you don't need to write every time the &lt;code&gt;dotnet run&lt;/code&gt; command.&lt;/p&gt;

&lt;h4&gt;
  
  
  .NET Core Test Explorer
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gEvDMU71--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ab6hom6911ded7pg8bz7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gEvDMU71--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ab6hom6911ded7pg8bz7.png" alt="Test" width="880" height="163"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Useful if you do unit test. With a test explorer this extension helps you to run and debug all test you have in your project.&lt;/p&gt;

&lt;h4&gt;
  
  
  NuGet Gallery Extension
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7r7ntEGl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9apm78lc5vioul2u4pa6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7r7ntEGl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9apm78lc5vioul2u4pa6.png" alt="Gallery" width="880" height="164"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The easiest way to install a nuget package, just search the package and install it in all the projects you want. Much more easy than going to nuget.org and copy the command every time.&lt;/p&gt;

&lt;h4&gt;
  
  
  NuGet Package Manager GUI
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--InscuKTc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rvejjoxlsb6h4v88je24.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--InscuKTc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rvejjoxlsb6h4v88je24.png" alt="GUI" width="880" height="134"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is like the last one but with a nice GUI, package updater and a list of your dependencies.&lt;/p&gt;

&lt;h3&gt;
  
  
  General VsCode
&lt;/h3&gt;

&lt;p&gt;Extensions for general purpose that can improve you workflow.&lt;/p&gt;

&lt;h4&gt;
  
  
  Better Comments
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--R2LgnEtz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ujhxfvuv7rckknjodfl4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--R2LgnEtz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ujhxfvuv7rckknjodfl4.png" alt="comments" width="880" height="168"&gt;&lt;/a&gt;&lt;br&gt;
An incredible way to highlight your comments and make them more useful.&lt;/p&gt;

&lt;h4&gt;
  
  
  gitignore
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--miMxuPjK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ikuc023yrq2ppph9ntr2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--miMxuPjK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ikuc023yrq2ppph9ntr2.png" alt="Image description" width="880" height="138"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Adds different templates to your &lt;code&gt;.gitignore&lt;/code&gt; file depending of what technology you are using.  &lt;/p&gt;

&lt;h4&gt;
  
  
  GitLens
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kMvmG5jN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rqvm241irgyhvy42h5k2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kMvmG5jN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rqvm241irgyhvy42h5k2.png" alt="git" width="880" height="126"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Improve your vscode experience with git in 100%. Makes so much easier to work with git.&lt;/p&gt;

&lt;h4&gt;
  
  
  Path Intellisense
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--poCjaw88--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xvfqzl6bkmvlgxcgzi20.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--poCjaw88--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xvfqzl6bkmvlgxcgzi20.png" alt="Path" width="880" height="175"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Really useful when you have a long directory distribution in your project and don't wanna see every 5 seconds your file in the file explorer.&lt;/p&gt;

&lt;h4&gt;
  
  
  Documents
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---SDygrJi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cm21e4lveq1xi4y9bwir.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---SDygrJi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cm21e4lveq1xi4y9bwir.png" alt="Documents" width="880" height="178"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With this you can read almost any document directly in vscode.&lt;/p&gt;

&lt;h4&gt;
  
  
  Markdown
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--axY4PVgj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xe2sd0i974exe91d909f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--axY4PVgj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xe2sd0i974exe91d909f.png" alt=".md" width="879" height="169"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Markdown helper to write good markdown files.&lt;/p&gt;

&lt;h4&gt;
  
  
  Vim
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RJMaTeAl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f2kl81msbjyw02yzv57g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RJMaTeAl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f2kl81msbjyw02yzv57g.png" alt="vim" width="880" height="172"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And for the great finale vim. It is one of my favorite extension and an incredible tool to speed up your coding. If you don't know vim give it a change and learn it!&lt;/p&gt;

&lt;p&gt;These are some extension that I use and are really useful for me. Maybe this post is a little bit long but i hope useful for you. This list can change in the future to add or remove an extension so i'll try to keep it update.&lt;/p&gt;

&lt;p&gt;Thanks for your time! Bye!&lt;/p&gt;

</description>
      <category>dotnet</category>
      <category>beginners</category>
      <category>vscode</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
