<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tools - Software Developer's Tour</title>
	<atom:link href="https://pawelmajewski.com/category/programming/tools/feed/" rel="self" type="application/rss+xml" />
	<link>https://pawelmajewski.com</link>
	<description>Website about programming, news in IT and more</description>
	<lastBuildDate>Sun, 29 Jun 2025 22:30:49 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>

<image>
	<url>https://pawelmajewski.com/wp-content/uploads/2024/02/logo_normal.png</url>
	<title>Tools - Software Developer's Tour</title>
	<link>https://pawelmajewski.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Effortless API Testing with Visual Studio Code: Quick and Easy Guide</title>
		<link>https://pawelmajewski.com/effortless-api-testing-with-visual-studio-code-quick-and-easy-guide/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=effortless-api-testing-with-visual-studio-code-quick-and-easy-guide</link>
					<comments>https://pawelmajewski.com/effortless-api-testing-with-visual-studio-code-quick-and-easy-guide/#respond</comments>
		
		<dc:creator><![CDATA[Paweł Majewski]]></dc:creator>
		<pubDate>Tue, 10 Jun 2025 20:15:10 +0000</pubDate>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Visual Studio Code]]></category>
		<guid isPermaLink="false">https://pawelmajewski.com/?p=8828</guid>

					<description><![CDATA[<p>Have you ever wondered how to test your API endpoints? There are many options to do so. You can use: Swagger Postman Insomnia (other less known software) or our star for today&#8230; Visual Studio Code Visual Studio Code (VSC) is a really powerful tool. Calling VSC an IDE wouldn&#8217;t be entirely accurate, as its functionality [&#8230;]</p>
<p>The post <a href="https://pawelmajewski.com/effortless-api-testing-with-visual-studio-code-quick-and-easy-guide/">Effortless API Testing with Visual Studio Code: Quick and Easy Guide</a> first appeared on <a href="https://pawelmajewski.com">Software Developer's Tour</a>.</p>]]></description>
										<content:encoded><![CDATA[<div data-elementor-type="wp-post" data-elementor-id="8828" class="elementor elementor-8828">
				<div class="elementor-element elementor-element-c396595 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-parent" data-id="c396595" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-a908654 elementor-widget elementor-widget-text-editor" data-id="a908654" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
			<style>/*! elementor - v3.21.0 - 08-05-2024 */
.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}</style>				<p>Have you ever wondered how to test your API endpoints? There are many options to do so. You can use:</p>						</div>
				</div>
				<div class="elementor-element elementor-element-905982a elementor-widget elementor-widget-text-editor" data-id="905982a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><a href="https://swagger.io/" target="_blank" rel="noopener">Swagger</a></p><p><a href="https://www.postman.com/" target="_blank" rel="noopener">Postman</a></p><p><a href="https://insomnia.rest/" target="_blank" rel="noopener">Insomnia</a></p><p>(other less known software)</p><p>or our star for today&#8230;</p><p><strong><a href="https://code.visualstudio.com/" target="_blank" rel="noopener">Visual Studio Code</a></strong></p>						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-da82bf2 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-parent" data-id="da82bf2" data-element_type="container">
				<div class="elementor-element elementor-element-c6e75a1 elementor-widget elementor-widget-text-editor" data-id="c6e75a1" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Visual Studio Code (VSC) is a really powerful tool. Calling VSC an IDE wouldn&#8217;t be entirely accurate, as its functionality largely depends on extensions.</p><p>One time VSC can be typical text editor, and the other time you can use VSC to manage your Linux server files over SSH using <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh" target="_blank" rel="noopener">https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh</a>.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-590ef17 elementor-widget elementor-widget-text-editor" data-id="590ef17" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Firstly, let&#8217;s create a new Web API project and modify the default <code>WeatherForecastController</code> with the code below.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-1fcc116 elementor-widget elementor-widget-code-block-for-elementor" data-id="1fcc116" data-element_type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
			<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-csharp'>using Microsoft.AspNetCore.Mvc;
using Microsoft.Net.Http.Headers;

namespace TestApi.Controllers;
[ApiController]
[Route(&quot;[controller]&quot;)]
public class WeatherForecastController : ControllerBase
{
    [HttpGet(&quot;get&quot;)]
    public IActionResult Get()
    {
        return Ok(Enumerable.Range(1, 5));
    }

    [HttpGet(&quot;get-protected&quot;)]
    public IActionResult GetProtected()
    {
        if (!Request.Headers.ContainsKey(HeaderNames.Authorization) || Request.Headers[HeaderNames.Authorization] != &quot;Bearer testKey&quot;)
            return Unauthorized();

        return Ok(Enumerable.Range(1, 5));
    }

    [HttpPost(&quot;post&quot;)]
    public IActionResult Post([FromBody] TestRequest request)
    {
        return Ok(request);
    }

    public class TestRequest
    {
        public required string Name { get; set; }
        public int Age { get; set; }
    }
}
</code></pre>		</div>
				</div>
				<div class="elementor-element elementor-element-735719f elementor-widget elementor-widget-text-editor" data-id="735719f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>As you can see, there are three endpoints that we will test today:</p><p><code>Get</code></p><p><code></code><code>GetProtected</code></p><p>and <code>Post</code></p><p>These three endpoints will cover all our base cases, so let&#8217;s get started!</p>						</div>
				</div>
				<div class="elementor-element elementor-element-d689a87 elementor-widget elementor-widget-heading" data-id="d689a87" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<style>/*! elementor - v3.21.0 - 08-05-2024 */
.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}</style><h2 class="elementor-heading-title elementor-size-default">Install REST Client extension</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-21b23dd elementor-widget elementor-widget-text-editor" data-id="21b23dd" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><a href="https://marketplace.visualstudio.com/items?itemName=humao.rest-client" target="_blank" rel="noopener">https://marketplace.visualstudio.com/items?itemName=humao.rest-client</a></p>						</div>
				</div>
				<div class="elementor-element elementor-element-5a2a431 elementor-widget elementor-widget-image" data-id="5a2a431" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
			<style>/*! elementor - v3.21.0 - 08-05-2024 */
.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=".svg"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}</style>										<img loading="lazy" decoding="async" loading="lazy" width="637" height="249" src="https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_4.png" class="attachment-large size-large wp-image-8836" alt="Rest client installed" srcset="https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_4.png 637w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_4-300x117.png 300w" sizes="auto, (max-width: 637px) 100vw, 637px" />													</div>
				</div>
				<div class="elementor-element elementor-element-2824385 elementor-widget elementor-widget-heading" data-id="2824385" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">Create file with .http extension</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-0d36e35 elementor-alert-warning elementor-widget elementor-widget-alert" data-id="0d36e35" data-element_type="widget" data-widget_type="alert.default">
				<div class="elementor-widget-container">
			<style>/*! elementor - v3.21.0 - 08-05-2024 */
.elementor-alert{padding:15px;border-left:5px solid transparent;position:relative;text-align:start}.elementor-alert .elementor-alert-title{display:block;font-weight:700}.elementor-alert .elementor-alert-description{font-size:13px}.elementor-alert button.elementor-alert-dismiss{position:absolute;right:var(--dismiss-icon-horizontal-position,10px);top:var(--dismiss-icon-vertical-position,10px);padding:3px;font-size:var(--dismiss-icon-size,20px);line-height:1;background:transparent;color:var(--dismiss-icon-normal-color,inherit);border:none;cursor:pointer;transition-duration:var(--dismiss-icon-hover-transition-duration,.3s)}.elementor-alert button.elementor-alert-dismiss:hover{color:var(--dismiss-icon-hover-color,inherit)}.elementor-alert button.elementor-alert-dismiss svg{width:var(--dismiss-icon-size,20px);height:var(--dismiss-icon-size,20px);fill:var(--dismiss-icon-normal-color,currentColor);transition-duration:var(--dismiss-icon-hover-transition-duration,.3s)}.elementor-alert button.elementor-alert-dismiss svg:hover{fill:var(--dismiss-icon-hover-color,currentColor)}.elementor-alert-info .elementor-alert{color:#31708f;background-color:#d9edf7;border-color:#bcdff1}.elementor-alert-success .elementor-alert{color:#3c763d;background-color:#dff0d8;border-color:#cae6be}.elementor-alert-warning .elementor-alert{color:#8a6d3b;background-color:#fcf8e3;border-color:#f9f0c3}.elementor-alert-danger .elementor-alert{color:#a94442;background-color:#f2dede;border-color:#e8c4c4}@media (max-width:767px){.elementor-alert{padding:10px}.elementor-alert button.elementor-alert-dismiss{right:7px;top:7px}}</style>		<div class="elementor-alert" role="alert">

						<span class="elementor-alert-title">Naming convention</span>
			
						<span class="elementor-alert-description">It's a good practice to name your files with words that clearly describe their purpose. Today, I'll test the endpoints in WeatherForecastController, so I've named the file WeatherForecastControllerTests.http.</span>
			
			
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-827540d elementor-widget elementor-widget-heading" data-id="827540d" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">First sending of the request</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-e5cd7ab elementor-widget elementor-widget-image" data-id="e5cd7ab" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="1024" height="257" src="https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_5-1024x257.png" class="attachment-large size-large wp-image-8837" alt="request" srcset="https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_5-1024x257.png 1024w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_5-300x75.png 300w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_5-768x193.png 768w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_5-1536x385.png 1536w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_5-2048x514.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" />													</div>
				</div>
				<div class="elementor-element elementor-element-117508f elementor-widget elementor-widget-text-editor" data-id="117508f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>The arrow points to the button which sends the request, and on the right panel, you can see the response from the server.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-7d40b42 elementor-widget elementor-widget-code-block-for-elementor" data-id="7d40b42" data-element_type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
			<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-http'>GET https://localhost:7081/WeatherForecast/get</code></pre>		</div>
				</div>
				<div class="elementor-element elementor-element-e94bd16 elementor-widget elementor-widget-heading" data-id="e94bd16" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">Let's make authorized request</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-3c2a2d2 elementor-widget elementor-widget-image" data-id="3c2a2d2" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="1024" height="269" src="https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_6-1024x269.png" class="attachment-large size-large wp-image-8839" alt="unauthorized request" srcset="https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_6-1024x269.png 1024w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_6-300x79.png 300w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_6-768x201.png 768w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_6-1536x403.png 1536w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_6-2048x537.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" />													</div>
				</div>
				<div class="elementor-element elementor-element-2dabf38 elementor-widget elementor-widget-text-editor" data-id="2dabf38" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>We&#8217;ve received a 401 Unauthorized error. I&#8217;ve created a fake authentication based on a Bearer token. If you are not familiar with Bearer tokens, read more <a href="https://docs.github.com/en/rest/authentication/authenticating-to-the-rest-api?apiVersion=2022-11-28" target="_blank" rel="noopener">https://docs.github.com/en/rest/authentication/authenticating-to-the-rest-api?apiVersion=2022-11-28</a></p>						</div>
				</div>
				<div class="elementor-element elementor-element-3cb3d99 elementor-widget elementor-widget-text-editor" data-id="3cb3d99" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>What should we do? Just add an <code>Authorization</code> header</p>						</div>
				</div>
				<div class="elementor-element elementor-element-259b910 elementor-widget elementor-widget-image" data-id="259b910" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="1024" height="261" src="https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_7-1024x261.png" class="attachment-large size-large wp-image-8840" alt="Auth header request" srcset="https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_7-1024x261.png 1024w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_7-300x76.png 300w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_7-768x196.png 768w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_7-1536x391.png 1536w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_7-2048x522.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" />													</div>
				</div>
				<div class="elementor-element elementor-element-354d8d8 elementor-widget elementor-widget-code-block-for-elementor" data-id="354d8d8" data-element_type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
			<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-http'>GET https://localhost:7081/WeatherForecast/get-protected
Authorization: Bearer testKey</code></pre>		</div>
				</div>
				<div class="elementor-element elementor-element-e789639 elementor-widget elementor-widget-heading" data-id="e789639" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">How about POST http method?</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-904d195 elementor-widget elementor-widget-text-editor" data-id="904d195" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong>Nothing easier!</strong></p>						</div>
				</div>
				<div class="elementor-element elementor-element-8c44d8d elementor-widget elementor-widget-text-editor" data-id="8c44d8d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>What is worth highlighting is that VSC automatically suggests possible HTTP MIME types.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-0c4fc97 elementor-widget elementor-widget-image" data-id="0c4fc97" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="771" height="326" src="https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_10.png" class="attachment-large size-large wp-image-8842" alt="http mimes" srcset="https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_10.png 771w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_10-300x127.png 300w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_10-768x325.png 768w" sizes="auto, (max-width: 771px) 100vw, 771px" />													</div>
				</div>
				<div class="elementor-element elementor-element-7a664d8 elementor-widget elementor-widget-text-editor" data-id="7a664d8" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>The full request</p>						</div>
				</div>
				<div class="elementor-element elementor-element-90d6e1a elementor-widget elementor-widget-image" data-id="90d6e1a" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="1024" height="287" src="https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_9-1024x287.png" class="attachment-large size-large wp-image-8843" alt="POST request" srcset="https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_9-1024x287.png 1024w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_9-300x84.png 300w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_9-768x215.png 768w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_9-1536x430.png 1536w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_9-2048x573.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" />													</div>
				</div>
				<div class="elementor-element elementor-element-fd8b640 elementor-widget elementor-widget-code-block-for-elementor" data-id="fd8b640" data-element_type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
			<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-javascript'>POST https://localhost:7081/WeatherForecast/post
Content-Type: application/json

{
    &quot;name&quot;: &quot;pawelmajewski.com&quot;,
    &quot;Age&quot;: 22
}</code></pre>		</div>
				</div>
				<div class="elementor-element elementor-element-a07f06f elementor-widget elementor-widget-heading" data-id="a07f06f" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">Improvements</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-e7fa1a4 elementor-widget elementor-widget-text-editor" data-id="e7fa1a4" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>We&#8217;ve got this. Our tests work perfectly, but&#8230; what if the base URL changes?</p>						</div>
				</div>
				<div class="elementor-element elementor-element-c99d722 elementor-widget elementor-widget-heading" data-id="c99d722" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">Variables</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-dd95e11 elementor-widget elementor-widget-text-editor" data-id="dd95e11" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong>Yes!</strong>We will replace repetitive elements with variables.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-4f538ba elementor-widget elementor-widget-image" data-id="4f538ba" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="782" height="682" src="https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_11.png" class="attachment-large size-large wp-image-8844" alt="file after refactor" srcset="https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_11.png 782w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_11-300x262.png 300w, https://pawelmajewski.com/wp-content/uploads/2024/06/Screenshot_11-768x670.png 768w" sizes="auto, (max-width: 782px) 100vw, 782px" />													</div>
				</div>
				<div class="elementor-element elementor-element-904e673 elementor-widget elementor-widget-code-block-for-elementor" data-id="904e673" data-element_type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
			<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-http'>@baseUrl = https://localhost:7081
@apiToken = Bearer testKey
@contentTypeApplicationJson = application/json

GET {{baseUrl}}/WeatherForecast/get

###

GET {{baseUrl}}/WeatherForecast/get-protected
Authorization: {{apiToken}}

###

POST {{baseUrl}}/WeatherForecast/post
Content-Type: {{contentTypeApplicationJson}}

{
    &quot;name&quot;: &quot;pawelmajewski.com&quot;,
    &quot;Age&quot;: 22
}</code></pre>		</div>
				</div>
				<div class="elementor-element elementor-element-43f4529 elementor-widget elementor-widget-text-editor" data-id="43f4529" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Now, I&#8217;m happy with this code. As you can see, VSC is a very powerful tool with an enormous number of extensions that make VSC a multitool.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-480a06b elementor-widget elementor-widget-text-editor" data-id="480a06b" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Additionally, what makes this tool very simple and fast to use for programmers is that here you simply write code, without needing to learn a new UI to do anything.</p>						</div>
				</div>
				</div>
				</div><p>The post <a href="https://pawelmajewski.com/effortless-api-testing-with-visual-studio-code-quick-and-easy-guide/">Effortless API Testing with Visual Studio Code: Quick and Easy Guide</a> first appeared on <a href="https://pawelmajewski.com">Software Developer's Tour</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://pawelmajewski.com/effortless-api-testing-with-visual-studio-code-quick-and-easy-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Chat GPT and refactor?</title>
		<link>https://pawelmajewski.com/chat-gpt-and-refactor/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=chat-gpt-and-refactor</link>
					<comments>https://pawelmajewski.com/chat-gpt-and-refactor/#respond</comments>
		
		<dc:creator><![CDATA[Paweł Majewski]]></dc:creator>
		<pubDate>Tue, 08 Apr 2025 19:56:00 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[refactor]]></category>
		<category><![CDATA[simplify]]></category>
		<guid isPermaLink="false">https://pawelmajewski.com/?p=8667</guid>

					<description><![CDATA[<p>In this post How to generate website using Chat GPT I checked how ChatGPT is doing with generating the layout. Today, we will see how it copes with the refactoring. Variables chain var x = 5; var a = x; var b = a; var c = b; Console.WriteLine(c); var d = c; var e = [&#8230;]</p>
<p>The post <a href="https://pawelmajewski.com/chat-gpt-and-refactor/">Chat GPT and refactor?</a> first appeared on <a href="https://pawelmajewski.com">Software Developer's Tour</a>.</p>]]></description>
										<content:encoded><![CDATA[<div data-elementor-type="wp-post" data-elementor-id="8667" class="elementor elementor-8667">
				<div class="elementor-element elementor-element-6820572 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-parent" data-id="6820572" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-e94ecda elementor-widget elementor-widget-text-editor" data-id="e94ecda" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>In this post <a title="How to generate website using Chat GPT" href="https://pawelmajewski.com/how-to-generate-website-using-chat-gpt/" target="_blank" rel="noopener">How to generate website using Chat GPT</a> I checked how <a href="https://chat.openai.com/" target="_blank" rel="noopener">ChatGPT</a> is doing with generating the layout.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-097b4a7 elementor-widget elementor-widget-text-editor" data-id="097b4a7" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Today, we will see how it copes with the refactoring.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-f5cea40 elementor-widget elementor-widget-heading" data-id="f5cea40" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">Variables chain</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-69c2cc4 elementor-widget elementor-widget-code-block-for-elementor" data-id="69c2cc4" data-element_type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
			<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-csharp'>var x = 5;
var a = x;
var b = a;
var c = b;
Console.WriteLine(c);
var d = c;
var e = d;
var f = e + 1;
var g = f;
var h = g;
Console.WriteLine(g);</code></pre>		</div>
				</div>
				<div class="elementor-element elementor-element-babd9a5 elementor-widget elementor-widget-image" data-id="babd9a5" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="767" height="1024" src="https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h22_11-767x1024.png" class="attachment-large size-large wp-image-8669" alt="chat gpt refactor" srcset="https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h22_11-767x1024.png 767w, https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h22_11-225x300.png 225w, https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h22_11-768x1025.png 768w, https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h22_11.png 845w" sizes="auto, (max-width: 767px) 100vw, 767px" />													</div>
				</div>
				<div class="elementor-element elementor-element-caf5521 elementor-widget elementor-widget-text-editor" data-id="caf5521" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>That&#8217;s not exactly what I meant.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-6cbbd97 elementor-widget elementor-widget-text-editor" data-id="6cbbd97" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Let&#8217;s try it differently.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-f134df7 elementor-widget elementor-widget-image" data-id="f134df7" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="747" height="642" src="https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h24_46.png" class="attachment-large size-large wp-image-8670" alt="chat gpt simplify" srcset="https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h24_46.png 747w, https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h24_46-300x258.png 300w" sizes="auto, (max-width: 747px) 100vw, 747px" />													</div>
				</div>
				<div class="elementor-element elementor-element-f4e47b4 elementor-widget elementor-widget-text-editor" data-id="f4e47b4" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Much better.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-6959667 elementor-widget elementor-widget-heading" data-id="6959667" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">Complicated LINQ</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-fa39279 elementor-widget elementor-widget-code-block-for-elementor" data-id="fa39279" data-element_type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
			<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-csharp'>int[] numbers = { 1, 2, 3, 4, 5 };

var result = numbers
    .Where(n =&gt; n % 2 == 0)
    .Select(n =&gt; n * n)
    .OrderByDescending(n =&gt; n)
    .Skip(1)
    .TakeWhile((n, index) =&gt; index &lt; 2 || n &gt; 10)
    .Sum();

Console.WriteLine(result);</code></pre>		</div>
				</div>
				<div class="elementor-element elementor-element-600e150 elementor-widget elementor-widget-text-editor" data-id="600e150" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Okay, time to ask ChatGPT what can we do with this piece of code.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-bb118f3 elementor-widget elementor-widget-image" data-id="bb118f3" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="797" height="897" src="https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h34_12.png" class="attachment-large size-large wp-image-8674" alt="chat gpt attempt 4" srcset="https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h34_12.png 797w, https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h34_12-267x300.png 267w, https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h34_12-768x864.png 768w" sizes="auto, (max-width: 797px) 100vw, 797px" />													</div>
				</div>
				<div class="elementor-element elementor-element-c058728 elementor-widget elementor-widget-text-editor" data-id="c058728" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>I&#8217;m pasting here the code provided by ChatGPT, which allows you to verify that I&#8217;m not lying.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-ef3c5a4 elementor-widget elementor-widget-code-block-for-elementor" data-id="ef3c5a4" data-element_type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
			<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-csharp'>int[] numbers = { 1, 2, 3, 4, 5 };

var result = numbers
    .Where(n =&gt; n % 2 == 0)
    .Select(n =&gt; n * n)
    .OrderByDescending(n =&gt; n)
    .TakeWhile((n, index) =&gt; index &lt; 2 || (index == 2 &amp;&amp; n &gt; 10))
    .Sum();

Console.WriteLine(result);
</code></pre>		</div>
				</div>
				<div class="elementor-element elementor-element-e538db0 elementor-widget elementor-widget-text-editor" data-id="e538db0" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>This code changes the result. The original code returned 4, but now it&#8217;s 20. Tell that to ChatGPT and watch how it will react.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-8e7832e elementor-widget elementor-widget-image" data-id="8e7832e" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="776" height="616" src="https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h38_02.png" class="attachment-large size-large wp-image-8675" alt="chat gpt failure" srcset="https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h38_02.png 776w, https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h38_02-300x238.png 300w, https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h38_02-768x610.png 768w" sizes="auto, (max-width: 776px) 100vw, 776px" />													</div>
				</div>
				<div class="elementor-element elementor-element-ca30fb6 elementor-widget elementor-widget-code-block-for-elementor" data-id="ca30fb6" data-element_type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
			<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-csharp'>int[] numbers = { 1, 2, 3, 4, 5 };

var result = numbers
    .Where(n =&gt; n % 2 == 0)
    .Select(n =&gt; n * n)
    .OrderByDescending(n =&gt; n)
    .TakeWhile((n, index) =&gt; index &lt; 2 || (index == 2 &amp;&amp; n &gt; 10))
    .Sum();

Console.WriteLine(result);
</code></pre>		</div>
				</div>
				<div class="elementor-element elementor-element-296da9b elementor-widget elementor-widget-text-editor" data-id="296da9b" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Ok, let&#8217;s see.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-1989617 elementor-widget elementor-widget-image" data-id="1989617" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="1024" height="354" src="https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h41_49-1024x354.png" class="attachment-large size-large wp-image-8676" alt="Chat gpt wrong answer" srcset="https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h41_49-1024x354.png 1024w, https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h41_49-300x104.png 300w, https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h41_49-768x266.png 768w, https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h41_49.png 1142w" sizes="auto, (max-width: 1024px) 100vw, 1024px" />													</div>
				</div>
				<div class="elementor-element elementor-element-ac269f4 elementor-widget elementor-widget-text-editor" data-id="ac269f4" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>ChatGPT said that this code would now return 4 as a result, but as you can see, it&#8217;s still 20.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-0b83305 elementor-widget elementor-widget-text-editor" data-id="0b83305" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>My answer for this is</p>						</div>
				</div>
				<div class="elementor-element elementor-element-cd4cc14 elementor-widget elementor-widget-image" data-id="cd4cc14" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
										<figure class="wp-caption">
										<img loading="lazy" decoding="async" loading="lazy" width="1024" height="512" src="https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h43_55-1024x512.png" class="attachment-large size-large wp-image-8677" alt="something went wrong" srcset="https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h43_55-1024x512.png 1024w, https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h43_55-300x150.png 300w, https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h43_55-768x384.png 768w, https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h43_55-1536x767.png 1536w, https://pawelmajewski.com/wp-content/uploads/2024/05/2024-05-06_20h43_55-2048x1023.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">something went wrong</figcaption>
										</figure>
							</div>
				</div>
				<div class="elementor-element elementor-element-f486484 elementor-widget elementor-widget-text-editor" data-id="f486484" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Yes, I know ChatGPT is capable of performing good refactoring, but we still need to double-check everything based on ChatGPT&#8217;s answer.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-d51dadc elementor-widget elementor-widget-text-editor" data-id="d51dadc" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>ChatGPT is wonderful tool, but again &#8211; it&#8217;s not medicine for every problem.</p>						</div>
				</div>
					</div>
				</div>
				</div><p>The post <a href="https://pawelmajewski.com/chat-gpt-and-refactor/">Chat GPT and refactor?</a> first appeared on <a href="https://pawelmajewski.com">Software Developer's Tour</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://pawelmajewski.com/chat-gpt-and-refactor/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Using Visual Studio Code to create .NET application</title>
		<link>https://pawelmajewski.com/using-visual-studio-code-to-create-net-application/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-visual-studio-code-to-create-net-application</link>
					<comments>https://pawelmajewski.com/using-visual-studio-code-to-create-net-application/#respond</comments>
		
		<dc:creator><![CDATA[Paweł Majewski]]></dc:creator>
		<pubDate>Wed, 02 Apr 2025 17:21:33 +0000</pubDate>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Comparison]]></category>
		<category><![CDATA[Visual Studio Code]]></category>
		<category><![CDATA[VSC]]></category>
		<guid isPermaLink="false">https://pawelmajewski.com/?p=8607</guid>

					<description><![CDATA[<p>Many of us use Visual Studio Code for frontend purposes, but how about using it to develop an .NET Applications? I always use Visual Studio or Rider to develop .NET apps, but today, I&#8217;ll create a simple TODO application using Visual Studio Code to check if I&#8217;m able to create the application in a convenient [&#8230;]</p>
<p>The post <a href="https://pawelmajewski.com/using-visual-studio-code-to-create-net-application/">Using Visual Studio Code to create .NET application</a> first appeared on <a href="https://pawelmajewski.com">Software Developer's Tour</a>.</p>]]></description>
										<content:encoded><![CDATA[<div data-elementor-type="wp-post" data-elementor-id="8607" class="elementor elementor-8607">
				<div class="elementor-element elementor-element-bd9a7f3 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no e-con e-parent" data-id="bd9a7f3" data-element_type="container">
				<div class="elementor-element elementor-element-25bf6fa elementor-widget elementor-widget-text-editor" data-id="25bf6fa" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Many of us use Visual Studio Code for frontend purposes, but how about using it to develop an .NET Applications?</p>						</div>
				</div>
				<div class="elementor-element elementor-element-99e481f elementor-widget elementor-widget-text-editor" data-id="99e481f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>I always use Visual Studio or Rider to develop .NET apps, but today, I&#8217;ll create a simple TODO application using Visual Studio Code to check if I&#8217;m able to create the application in a convenient way.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-3bb76d3 elementor-widget elementor-widget-image" data-id="3bb76d3" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="1024" height="614" src="https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-17.01.38-1024x614.png" class="attachment-large size-large wp-image-8614" alt="visual studio code main window" srcset="https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-17.01.38-1024x614.png 1024w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-17.01.38-300x180.png 300w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-17.01.38-768x461.png 768w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-17.01.38-1536x921.png 1536w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-17.01.38-2048x1229.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" />													</div>
				</div>
				<div class="elementor-element elementor-element-fd6c92e elementor-widget elementor-widget-text-editor" data-id="fd6c92e" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>As first glance, we can see the &#8220;Create .NET Project&#8221; button which allows us to create an application with a few clicks.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-ab96d49 elementor-widget elementor-widget-image" data-id="ab96d49" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="1024" height="614" src="https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-17.04.09-1024x614.png" class="attachment-large size-large wp-image-8615" alt="create .NET application menu" srcset="https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-17.04.09-1024x614.png 1024w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-17.04.09-300x180.png 300w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-17.04.09-768x461.png 768w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-17.04.09-1536x921.png 1536w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-17.04.09-2048x1229.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" />													</div>
				</div>
				<div class="elementor-element elementor-element-7e98f09 elementor-widget elementor-widget-text-editor" data-id="7e98f09" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>I&#8217;ll choose standard MVC application as easiest way to test VSC in real application.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-1cf9b9d elementor-widget elementor-widget-code-block-for-elementor" data-id="1cf9b9d" data-element_type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
			<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-csharp'>public class TodoItem
{
    public string Title { get; set; }
    public string Description { get; set; }
    public TodoItemStatus Status { get; set; }
}</code></pre>		</div>
				</div>
				<div class="elementor-element elementor-element-7c83a1b elementor-widget elementor-widget-text-editor" data-id="7c83a1b" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>I&#8217;ve modified HomeController and added TodoItems storage as static list</p>						</div>
				</div>
				<div class="elementor-element elementor-element-69c0356 elementor-widget elementor-widget-code-block-for-elementor" data-id="69c0356" data-element_type="widget" data-widget_type="code-block-for-elementor.default">
				<div class="elementor-widget-container">
			<pre class='line-numbers theme-okaidia' data-show-toolbar='yes'><code class='language-csharp'>    public static List&lt;TodoItem&gt; TodoItems = [
        new() {
            Title = &quot;Write new post&quot;,
            Description = &quot;Go to the pawelmajewski.com and add a new post&quot;,
            Status = TodoItemStatus.New
        }
    ];</code></pre>		</div>
				</div>
				<div class="elementor-element elementor-element-9fcfbf4 elementor-widget elementor-widget-text-editor" data-id="9fcfbf4" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>And the result</p>						</div>
				</div>
				<div class="elementor-element elementor-element-3a598d8 elementor-widget elementor-widget-image" data-id="3a598d8" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="1024" height="585" src="https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.15.37-1024x585.png" class="attachment-large size-large wp-image-8622" alt="" srcset="https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.15.37-1024x585.png 1024w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.15.37-300x171.png 300w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.15.37-768x439.png 768w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.15.37-1536x878.png 1536w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.15.37-2048x1170.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" />													</div>
				</div>
				<div class="elementor-element elementor-element-a5ad819 elementor-widget elementor-widget-text-editor" data-id="a5ad819" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Ok, let&#8217;s stop at this moment. I&#8217;ll write something about using Visual Studio Code and the feeling of using it instead of a dedicated IDE created for .NET applications.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-5f2a4cf elementor-widget elementor-widget-image" data-id="5f2a4cf" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="1024" height="533" src="https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.26.09-1024x533.png" class="attachment-large size-large wp-image-8623" alt="TodoItem class" srcset="https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.26.09-1024x533.png 1024w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.26.09-300x156.png 300w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.26.09-768x399.png 768w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.26.09.png 1242w" sizes="auto, (max-width: 1024px) 100vw, 1024px" />													</div>
				</div>
				<div class="elementor-element elementor-element-6f70e00 elementor-widget elementor-widget-text-editor" data-id="6f70e00" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>As you can see, VSC doesn&#8217;t add namespace by default.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-21d5c6d elementor-widget elementor-widget-image" data-id="21d5c6d" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" loading="lazy" width="1024" height="618" src="https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.29.11-1024x618.png" class="attachment-large size-large wp-image-8624" alt="add namespace" srcset="https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.29.11-1024x618.png 1024w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.29.11-300x181.png 300w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.29.11-768x464.png 768w, https://pawelmajewski.com/wp-content/uploads/2024/05/Screenshot-2024-05-03-at-18.29.11.png 1176w" sizes="auto, (max-width: 1024px) 100vw, 1024px" />													</div>
				</div>
				<div class="elementor-element elementor-element-83fbfb7 elementor-widget elementor-widget-text-editor" data-id="83fbfb7" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>None of these options generate correct namespace automatically. The first option ends word to full &#8220;namespace&#8221; and the second one creates new namespace scope. Too bad I couldn&#8217;t find such an option to generate correct namespace with consideration for the folder structure.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-ccb8065 elementor-alert-info elementor-widget elementor-widget-alert" data-id="ccb8065" data-element_type="widget" data-widget_type="alert.default">
				<div class="elementor-widget-container">
					<div class="elementor-alert" role="alert">

						<span class="elementor-alert-title">I've found solution</span>
			
						<span class="elementor-alert-description">There are several extensions allowing create class with namespace automatically. You can read more about it <a target="_blank" href="https://stackoverflow.com/questions/33485643/vscode-snippet-for-creating-new-c-sharp-class-with-namespace-declaration">Stack overflow</a></span>
			
			
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-5db7acb elementor-widget elementor-widget-heading" data-id="5db7acb" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h2 class="elementor-heading-title elementor-size-default">Summary</h2>		</div>
				</div>
				<div class="elementor-element elementor-element-dfe5adc elementor-widget elementor-widget-text-editor" data-id="dfe5adc" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Visual Studio Code is amazing software with a vast amount of extensions. We can easily develop .NET applications using Visual Studio Code. There are many extensions available that make our job faster and more convenient. However, in my opinion, the usage of dedicated IDEs is a better option. I&#8217;ll stay with Rider / Visual Studio for .NET and Visual Studio Code for frontend 🙂</p>						</div>
				</div>
				</div>
				</div><p>The post <a href="https://pawelmajewski.com/using-visual-studio-code-to-create-net-application/">Using Visual Studio Code to create .NET application</a> first appeared on <a href="https://pawelmajewski.com">Software Developer's Tour</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://pawelmajewski.com/using-visual-studio-code-to-create-net-application/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
