<?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>VS2017 &#8211; Sibeesh Passion</title>
	<atom:link href="https://sibeeshpassion.com/tag/vs2017/feed/" rel="self" type="application/rss+xml" />
	<link>https://sibeeshpassion.com</link>
	<description>My passion towards life</description>
	<lastBuildDate>Wed, 02 Jun 2021 15:21:18 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>/wp-content/uploads/2017/04/Sibeesh_Passion_Logo_Small.png</url>
	<title>VS2017 &#8211; Sibeesh Passion</title>
	<link>https://sibeeshpassion.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Webinar: Why Visual Studio 2017? Few Features of VS2017 You May Love</title>
		<link>https://sibeeshpassion.com/webinar-why-visual-studio-2017-few-features-of-vs2017-you-may-love/</link>
					<comments>https://sibeeshpassion.com/webinar-why-visual-studio-2017-few-features-of-vs2017-you-may-love/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Mon, 10 Apr 2017 09:29:29 +0000</pubDate>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Visual Studio 2017]]></category>
		<category><![CDATA[Webinars]]></category>
		<category><![CDATA[Features of VS2017]]></category>
		<category><![CDATA[VS2017]]></category>
		<category><![CDATA[VS2017 IDE features]]></category>
		<category><![CDATA[Webinar]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=12175</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/webinar-why-visual-studio-2017-few-features-of-vs2017-you-may-love/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Cool New Refactoring and Text Editor Options in VS2017</title>
		<link>https://sibeeshpassion.com/the-cool-new-refactoring-and-text-editor-options-in-vs2017/</link>
					<comments>https://sibeeshpassion.com/the-cool-new-refactoring-and-text-editor-options-in-vs2017/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Sun, 02 Apr 2017 08:07:02 +0000</pubDate>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Visual Studio 2017]]></category>
		<category><![CDATA[New text editor experience in VS2017]]></category>
		<category><![CDATA[Refactoring In VS2017]]></category>
		<category><![CDATA[VS2017]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=12167</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/the-cool-new-refactoring-and-text-editor-options-in-vs2017/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>What is there for a JavaScript developer in VS2017</title>
		<link>https://sibeeshpassion.com/what-is-there-for-a-javascript-developer-in-vs2017/</link>
					<comments>https://sibeeshpassion.com/what-is-there-for-a-javascript-developer-in-vs2017/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Sun, 02 Apr 2017 05:37:14 +0000</pubDate>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Visual Studio 2017]]></category>
		<category><![CDATA[Develop JavaScript application in VS2017]]></category>
		<category><![CDATA[JavaScript new features in VS2017]]></category>
		<category><![CDATA[VS2017]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=12166</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/what-is-there-for-a-javascript-developer-in-vs2017/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>New Debugging Features In Visual Studio 2017</title>
		<link>https://sibeeshpassion.com/new-debugging-features-in-visual-studio-2017/</link>
					<comments>https://sibeeshpassion.com/new-debugging-features-in-visual-studio-2017/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Mon, 27 Mar 2017 15:10:52 +0000</pubDate>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[How to]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[Visual Studio 2017]]></category>
		<category><![CDATA[New debugging features in VS2017]]></category>
		<category><![CDATA[Visual Studio Debugging Options]]></category>
		<category><![CDATA[VS2017]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=12160</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/new-debugging-features-in-visual-studio-2017/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>VS2017 Start Page Changes</title>
		<link>https://sibeeshpassion.com/vs2017-start-page-changes/</link>
					<comments>https://sibeeshpassion.com/vs2017-start-page-changes/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Sat, 25 Mar 2017 14:54:41 +0000</pubDate>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[Visual Studio 2017]]></category>
		<category><![CDATA[New in VS2017]]></category>
		<category><![CDATA[VS 2017 for developers]]></category>
		<category><![CDATA[VS2017]]></category>
		<category><![CDATA[VS2017 Start page]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=12158</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/vs2017-start-page-changes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Modify or add project templates to VS2017</title>
		<link>https://sibeeshpassion.com/modify-or-add-project-templates-to-vs2017/</link>
					<comments>https://sibeeshpassion.com/modify-or-add-project-templates-to-vs2017/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Thu, 23 Mar 2017 17:16:26 +0000</pubDate>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[Visual Studio 2017]]></category>
		<category><![CDATA[Add Project Templates in VS2017]]></category>
		<category><![CDATA[Modify project templates in VS2017]]></category>
		<category><![CDATA[Updating components of VS2017]]></category>
		<category><![CDATA[Visual Studio Workloads]]></category>
		<category><![CDATA[VS2017]]></category>
		<category><![CDATA[VS2017 Installation]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=12156</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/modify-or-add-project-templates-to-vs2017/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Why Visual Studio 2017? Let us try it &#8211; Part Two</title>
		<link>https://sibeeshpassion.com/why-visual-studio-2017-let-us-try-it-part-two/</link>
					<comments>https://sibeeshpassion.com/why-visual-studio-2017-let-us-try-it-part-two/#disqus_thread</comments>
		
		<dc:creator><![CDATA[SibeeshVenu]]></dc:creator>
		<pubDate>Tue, 14 Mar 2017 16:56:58 +0000</pubDate>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Visual Studio 2017]]></category>
		<category><![CDATA[Advantages of Visual Studio 2017]]></category>
		<category><![CDATA[All about Visual Studio 2017]]></category>
		<category><![CDATA[VS2017]]></category>
		<category><![CDATA[Why Visual Studio 2017]]></category>
		<guid isPermaLink="false">http://sibeecst_passion.com/?p=12125</guid>

					<description><![CDATA[[toc] Introduction In this article we are going to see some features of the brand new Visual Studio 2017. This is the second article of the Visual Studio 2017 series. Please be noted that, this is not the complete series of new functionalities of Visual Studio 2017, here I am going to share only few things to get you started with the new Visual Studio 2017. I hope you will like this. Now let&#8217;s begin. Download Source Code VS2017 features you may love Background You can always find the first part of this series here. If you never use Visual [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[toc]</p>
<h3>Introduction</h3>
<p>In this article we are going to see some features of the brand new <a href="http://sibeeshpassion.com/category/Visual-Studio/" target="_blank" rel="noopener">Visual Studio</a> 2017. This is the second article of the Visual Studio 2017 series. Please be noted that, this is not the complete series of new functionalities of Visual Studio 2017, here I am going to share only few things to get you started with the new Visual Studio 2017. I hope you will like this. Now let&#8217;s begin.</p>
<h3><strong>Download Source Code</strong></h3>
<ul>
<li><a href="https://code.msdn.microsoft.com/Why-Visual-Studio-2017-Let-24a4f7d9" target="_blank" rel="noopener">VS2017 features you may love</a></li>
</ul>
<h3><strong>Background</strong></h3>
<p>You can always find the first part of this series <a href="http://sibeeshpassion.com/why-visual-studio-2017-let-us-try-it/" target="_blank" rel="noopener">here</a>. If you never use Visual Studio, you can find some articles and code snippets relates to it <a href="http://sibeeshpassion.com/category/Visual-Studio/" target="_blank" rel="noopener">here</a></p>
<h3><strong>Let&#8217;s start then</strong></h3>
<p>Let&#8217;s say you have a MVC application with a model Customer as follows.</p>
<p>[csharp]<br />
using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Web;</p>
<p>namespace VS2017Features.Models<br />
{<br />
public class Customer<br />
{<br />
public string CustId { get; set; }<br />
public string CustName { get; set; }<br />
public string CustCode { get; set; }<br />
}<br />
}<br />
[/csharp]</p>
<p>And a controller as follows</p>
<p>[csharp]<br />
using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Web;<br />
using System.Web.Mvc;<br />
using VS2017Features.Models;<br />
namespace VS2017Features.Controllers<br />
{<br />
public class HomeController : Controller<br />
{<br />
// GET: Home<br />
public ActionResult Index()<br />
{<br />
List&lt;Customer&gt; lstCust = new List&lt;Customer&gt;();<br />
Customer cst = new Customer()<br />
{<br />
CustId = &#8220;1&#8221;,<br />
CustName = &#8220;Royal Enfield&#8221;,<br />
CustCode = &#8220;CST01&#8221;<br />
};<br />
lstCust.Add(cst);<br />
return View(lstCust);<br />
}<br />
}<br />
}<br />
[/csharp]</p>
<p>As of now, I am not going to explain the codes, as it is pretty much clear and easy. Now we are going to see the preceding topics.</p>
<ul>
<li>Run execution to here feature</li>
<li>The new exception handler</li>
<li>Redisigned Attach to process box</li>
<li>Reattach to process</li>
<li>What is there for JavaScript developer in VS2017</li>
</ul>
<h4><strong>Run execution to here feature</strong></h4>
<p>Let&#8217;s say we have a break point in our code as preceding.</p>
<div id="attachment_12126" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/03/Run_execution_to_here_in_VS2017-e1489422491932.png"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-12126" class="size-full wp-image-12126" src="http://sibeeshpassion.com/wp-content/uploads/2017/03/Run_execution_to_here_in_VS2017-e1489422491932.png" alt="Run_execution_to_here_in_VS2017" width="634" height="304" srcset="/wp-content/uploads/2017/03/Run_execution_to_here_in_VS2017-e1489422491932.png 634w, /wp-content/uploads/2017/03/Run_execution_to_here_in_VS2017-e1489422491932-300x144.png 300w, /wp-content/uploads/2017/03/Run_execution_to_here_in_VS2017-e1489422491932-400x192.png 400w" sizes="(max-width: 634px) 100vw, 634px" /></a><p id="caption-attachment-12126" class="wp-caption-text">Run_execution_to_here_in_VS2017</p></div>
<p>Could you notice that there is a small green color icon in the image, in which you get the text &#8220;Run execution to here&#8221; while hovering it. This is a new feature in VS2017, if you click on the icon which is near to any lines of codes, the execution will hit at that point. That&#8217;s pretty much simple right? Now you don&#8217;t need to put any unwanted breakpoints for checking out the execution line by line while debugging.</p>
<p>Now what if you are using this feature in a loop. Let&#8217;s modify our controller code as preceding.</p>
<p>[csharp]<br />
public class HomeController : Controller<br />
{<br />
// GET: Home<br />
public ActionResult Index()<br />
{<br />
List&lt;Customer&gt; lstCust = BuildCustomer();<br />
return View(lstCust);<br />
}</p>
<p>private static List&lt;Customer&gt; BuildCustomer()<br />
{<br />
List&lt;Customer&gt; lstCust = new List&lt;Customer&gt;();<br />
for (int i = 0; i &lt; 5; i++)<br />
{<br />
Customer cst = new Customer()<br />
{<br />
CustId = i.ToString(),<br />
CustName = $&#8221;CustName{i}&#8221;,<br />
CustCode = $&#8221;CST{i}&#8221;<br />
};<br />
lstCust.Add(cst);<br />
}<br />
return lstCust;<br />
}<br />
}<br />
[/csharp]</p>
<p>And view as preceding.</p>
<p>[html]<br />
@model IEnumerable&lt;VS2017Features.Models.Customer&gt;</p>
<p>@{<br />
ViewBag.Title = &#8220;Index&#8221;;<br />
}</p>
<p>&lt;h2&gt;Index&lt;/h2&gt;<br />
&lt;style&gt;<br />
th, td, tr {<br />
border: 1px solid #ccc;<br />
padding: 10px;<br />
}<br />
&lt;/style&gt;<br />
&lt;table&gt;<br />
&lt;thead&gt;<br />
&lt;tr&gt;<br />
&lt;th&gt;Cust Id&lt;/th&gt;<br />
&lt;th&gt;Cust Name&lt;/th&gt;<br />
&lt;th&gt;Cust Code&lt;/th&gt;<br />
&lt;/tr&gt;<br />
&lt;/thead&gt;<br />
&lt;tbody&gt;<br />
@foreach (var item in Model)<br />
{</p>
<p>&lt;tr&gt;<br />
&lt;td&gt;@item.CustId&lt;/td&gt;<br />
&lt;td&gt;@item.CustName&lt;/td&gt;<br />
&lt;td&gt;@item.CustCode&lt;/td&gt;<br />
&lt;/tr&gt;</p>
<p>}<br />
&lt;/tbody&gt;<br />
&lt;/table&gt;<br />
[/html]</p>
<p>Now let&#8217;s run our application.</p>
<div id="attachment_12134" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/03/Applciation_output-1-e1489505366729.png"><img decoding="async" aria-describedby="caption-attachment-12134" class="size-full wp-image-12134" src="http://sibeeshpassion.com/wp-content/uploads/2017/03/Applciation_output-1-e1489505366729.png" alt="Applciation_output" width="634" height="619" srcset="/wp-content/uploads/2017/03/Applciation_output-1-e1489505366729.png 366w, /wp-content/uploads/2017/03/Applciation_output-1-e1489505366729-300x293.png 300w, /wp-content/uploads/2017/03/Applciation_output-1-e1489505366729-400x391.png 400w, /wp-content/uploads/2017/03/Applciation_output-1-e1489505366729-615x600.png 615w" sizes="(max-width: 634px) 100vw, 634px" /></a><p id="caption-attachment-12134" class="wp-caption-text">Applciation_output</p></div>
<p>Put a breakpoint in the loop, when you run you can see that i value is getting incremented which means, the iterations are happening. Once the iterations are over, the execution comes out. Please be noted that you can always come out of this loop by changing the execution point.</p>
<div id="attachment_12127" style="width: 646px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/03/Run_execution_to_here_in_loop_1.png"><img decoding="async" aria-describedby="caption-attachment-12127" class="size-full wp-image-12127" src="http://sibeeshpassion.com/wp-content/uploads/2017/03/Run_execution_to_here_in_loop_1.png" alt="Run_execution_to_here_in_loop_1" width="636" height="397" srcset="/wp-content/uploads/2017/03/Run_execution_to_here_in_loop_1.png 636w, /wp-content/uploads/2017/03/Run_execution_to_here_in_loop_1-300x187.png 300w, /wp-content/uploads/2017/03/Run_execution_to_here_in_loop_1-400x250.png 400w" sizes="(max-width: 636px) 100vw, 636px" /></a><p id="caption-attachment-12127" class="wp-caption-text">Run_execution_to_here_in_loop_1</p></div>
<div id="attachment_12128" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/03/Run_execution_to_here_in_loop_2-e1489423535330.png"><img decoding="async" aria-describedby="caption-attachment-12128" class="size-full wp-image-12128" src="http://sibeeshpassion.com/wp-content/uploads/2017/03/Run_execution_to_here_in_loop_2-e1489423535330.png" alt="Run_execution_to_here_in_loop_2" width="634" height="370" srcset="/wp-content/uploads/2017/03/Run_execution_to_here_in_loop_2-e1489423535330.png 634w, /wp-content/uploads/2017/03/Run_execution_to_here_in_loop_2-e1489423535330-300x175.png 300w, /wp-content/uploads/2017/03/Run_execution_to_here_in_loop_2-e1489423535330-400x233.png 400w" sizes="(max-width: 634px) 100vw, 634px" /></a><p id="caption-attachment-12128" class="wp-caption-text">Run_execution_to_here_in_loop_2</p></div>
<h4><strong>The new exception popup</strong></h4>
<p>The new exception box is really handy which can be resized, as an additional features the inner exceptions are added to the pop up itself. No need to search for the inner exceptions now. To create an exception, we can call the preceding function.</p>
<p>[csharp]<br />
private void MakeDivideByZeroException()<br />
{<br />
throw new DivideByZeroException();<br />
}<br />
[/csharp]</p>
<p>Once you call the above function, you can get an error as follows.</p>
<div id="attachment_12129" style="width: 568px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/03/The_new_exception_box.png"><img decoding="async" aria-describedby="caption-attachment-12129" class="size-full wp-image-12129" src="http://sibeeshpassion.com/wp-content/uploads/2017/03/The_new_exception_box.png" alt="The_new_exception_box" width="558" height="506" srcset="/wp-content/uploads/2017/03/The_new_exception_box.png 558w, /wp-content/uploads/2017/03/The_new_exception_box-300x272.png 300w, /wp-content/uploads/2017/03/The_new_exception_box-400x363.png 400w" sizes="(max-width: 558px) 100vw, 558px" /></a><p id="caption-attachment-12129" class="wp-caption-text">The_new_exception_box</p></div>
<p>If you click on the view details, a quick watch popup with the error information will be opened.</p>
<div id="attachment_12130" style="width: 494px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/03/Quickwatch_in_VS2017.png"><img decoding="async" aria-describedby="caption-attachment-12130" class="size-full wp-image-12130" src="http://sibeeshpassion.com/wp-content/uploads/2017/03/Quickwatch_in_VS2017.png" alt="Quickwatch_in_VS2017" width="484" height="492" srcset="/wp-content/uploads/2017/03/Quickwatch_in_VS2017.png 484w, /wp-content/uploads/2017/03/Quickwatch_in_VS2017-295x300.png 295w, /wp-content/uploads/2017/03/Quickwatch_in_VS2017-400x407.png 400w" sizes="(max-width: 484px) 100vw, 484px" /></a><p id="caption-attachment-12130" class="wp-caption-text">Quickwatch_in_VS2017</p></div>
<p>Under the exception settings, you can always set whether you need to throw this type of exception only for the particular DLL or for every DLL.</p>
<h4><strong>Redesigned Attach to process box</strong></h4>
<p>We all know how we can attach to a process in Visual Studio. But have you ever thought, if we have a search box to search a process and attach to it, it would make the task easier? No worries, in VS2017 you get that. To see the redesigned Attach to process window, please click on Debug -&gt; Attach to process.</p>
<div id="attachment_12133" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/03/Redesigned_attach_to_process-e1489504883213.png"><img decoding="async" aria-describedby="caption-attachment-12133" class="size-full wp-image-12133" src="http://sibeeshpassion.com/wp-content/uploads/2017/03/Redesigned_attach_to_process-e1489504883213.png" alt="Redesigned_attach_to_process" width="634" height="523" srcset="/wp-content/uploads/2017/03/Redesigned_attach_to_process-e1489504883213.png 433w, /wp-content/uploads/2017/03/Redesigned_attach_to_process-e1489504883213-300x247.png 300w, /wp-content/uploads/2017/03/Redesigned_attach_to_process-e1489504883213-400x330.png 400w" sizes="(max-width: 634px) 100vw, 634px" /></a><p id="caption-attachment-12133" class="wp-caption-text">Redesigned_attach_to_process</p></div>
<p>Now we have attached our process which was running in Microsoft Edge browser. Wait, the game is not over yet. Please click on the Debug option, you can see an option called Reattach to process. What is that? This option gives you an advantage of reattach the recent process that you already attached. That&#8217;s cool right? If you have one or more instance of the same process, it will ask you to select which ever you needed.</p>
<h3><strong>What is there for JavaScript developer in VS2017</strong></h3>
<p>VS2017 has lots of improvements for <a href="http://sibeeshpassion.com/category/JavaScript" target="_blank" rel="noopener">JavaScript</a> language. Let&#8217;s find out few of them.</p>
<ul>
<li>Advanced JavaScript intellisense</li>
<li>Added ECMAScript 6</li>
<li>Introduction of JS Doc</li>
<li>New Rename options in JavaScript</li>
<li>Find all references of functions or classes</li>
</ul>
<h4><strong>Advanced JavaScript intellisense</strong></h4>
<p>VS2017 has advanced intellisenses for JavaScript. We don&#8217;t need to remember the parameters for the in built functions of JavaScript. For example, if you typed <em>jQuery.ajax()</em> you can see the parameters of the functions as follows.</p>
<div id="attachment_12135" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/03/Advanced_JavaScript_intellisence-e1489506433699.png"><img decoding="async" aria-describedby="caption-attachment-12135" class="size-full wp-image-12135" src="http://sibeeshpassion.com/wp-content/uploads/2017/03/Advanced_JavaScript_intellisence-e1489506433699.png" alt="Advanced_JavaScript_intellisence" width="634" height="217" srcset="/wp-content/uploads/2017/03/Advanced_JavaScript_intellisence-e1489506433699.png 634w, /wp-content/uploads/2017/03/Advanced_JavaScript_intellisence-e1489506433699-300x103.png 300w, /wp-content/uploads/2017/03/Advanced_JavaScript_intellisence-e1489506433699-400x137.png 400w" sizes="(max-width: 634px) 100vw, 634px" /></a><p id="caption-attachment-12135" class="wp-caption-text">Advanced_JavaScript_intellisence</p></div>
<p>The best thing is, it is even shows what exactly the type of the parameter. Yeah, JavaScript types are dynamic, so no one was creating a proper documentation for JavaScript functions. Now we have an option.</p>
<p>If you right click on the ajax() function and click on Go To Definition, you can see the definition in a .ts file (TypeScript) as follows.</p>
<p>[js]<br />
/**<br />
* Perform an asynchronous HTTP (Ajax) request.<br />
*<br />
* @param settings A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup().<br />
* @see {@link https://api.jquery.com/jQuery.ajax/#jQuery-ajax-settings}<br />
*/<br />
ajax(settings: JQueryAjaxSettings): JQueryXHR;<br />
/**<br />
* Perform an asynchronous HTTP (Ajax) request.<br />
*<br />
* @param url A string containing the URL to which the request is sent.<br />
* @param settings A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup().<br />
* @see {@link https://api.jquery.com/jQuery.ajax/#jQuery-ajax-url-settings}<br />
*/<br />
ajax(url: string, settings?: JQueryAjaxSettings): JQueryXHR;<br />
[/js]</p>
<p>In VS2017, all JavaScript related documentations are handled by these TypeScript files.</p>
<h4><strong>Added ECMAScript 6</strong></h4>
<p>In VS2017, the new ECMAScript 6 features are added which are more intuitive and OOP-style. So we can always use those in our application. Shall we start now?</p>
<p>[js]<br />
class Operations {<br />
constructor(x, y) {<br />
this.x = x;<br />
this.y = y;<br />
}<br />
add() {<br />
return (this.x + this.y);<br />
}<br />
}<br />
var myObj = new Operations(1, 2);<br />
console.log(myObj.add());<br />
[/js]</p>
<p>If you run the above code, you can see an output as follows.</p>
<div id="attachment_12136" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/03/JavaScript_Class_Output.png"><img decoding="async" aria-describedby="caption-attachment-12136" class="size-large wp-image-12136" src="http://sibeeshpassion.com/wp-content/uploads/2017/03/JavaScript_Class_Output-1024x194.png" alt="JavaScript_Class_Output" width="634" height="120" srcset="/wp-content/uploads/2017/03/JavaScript_Class_Output-1024x194.png 1024w, /wp-content/uploads/2017/03/JavaScript_Class_Output-300x57.png 300w, /wp-content/uploads/2017/03/JavaScript_Class_Output-768x146.png 768w, /wp-content/uploads/2017/03/JavaScript_Class_Output-400x76.png 400w, /wp-content/uploads/2017/03/JavaScript_Class_Output.png 1066w" sizes="(max-width: 634px) 100vw, 634px" /></a><p id="caption-attachment-12136" class="wp-caption-text">JavaScript_Class_Output</p></div>
<p>Now how can you rewrite the above code to lower ECMAScript version? I leave it to you. You can always read more about ECMAScript6 <a href="http://es6-features.org/#ClassDefinition" target="_blank" rel="noopener">here</a>.</p>
<h4><strong>JSDoc</strong></h4>
<p>Documenting a JavaScript fucntion was a tough task, but not anymore. In VS2017, this makes simple. Let&#8217;s check it out. By pressing /** you can easily document your JavaScript functions and classes. Let us rewrite the class and function as preceding.</p>
<p>[js]<br />
/**<br />
* This class performs arithmetic operations<br />
*/<br />
class Operations {<br />
/**<br />
* Operations class constructor<br />
* @param {any} x<br />
* @param {any} y<br />
*/<br />
constructor(x, y) {<br />
this.x = x;<br />
this.y = y;<br />
}<br />
/**<br />
* Add function<br />
*/<br />
add() {<br />
return (this.x + this.y);<br />
}<br />
}<br />
var myObj = new Operations(1, 2);<br />
console.log(myObj.add());<br />
[/js]</p>
<p>You can even set the type of the parameter.</p>
<div id="attachment_12137" style="width: 606px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/03/Set_default_type_for_the_parameter_in_JSDoc.png"><img decoding="async" aria-describedby="caption-attachment-12137" class="size-full wp-image-12137" src="http://sibeeshpassion.com/wp-content/uploads/2017/03/Set_default_type_for_the_parameter_in_JSDoc.png" alt="Set_default_type_for_the_parameter_in_JSDoc" width="596" height="505" srcset="/wp-content/uploads/2017/03/Set_default_type_for_the_parameter_in_JSDoc.png 596w, /wp-content/uploads/2017/03/Set_default_type_for_the_parameter_in_JSDoc-300x254.png 300w, /wp-content/uploads/2017/03/Set_default_type_for_the_parameter_in_JSDoc-400x339.png 400w" sizes="(max-width: 596px) 100vw, 596px" /></a><p id="caption-attachment-12137" class="wp-caption-text">Set_default_type_for_the_parameter_in_JSDoc</p></div>
<p>If you change the type in the JSDoc, the same will reflect in when you create an instances or calling the functions.</p>
<div id="attachment_12138" style="width: 621px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/03/JSDoc_reflects_while_creating_instances.png"><img decoding="async" aria-describedby="caption-attachment-12138" class="size-full wp-image-12138" src="http://sibeeshpassion.com/wp-content/uploads/2017/03/JSDoc_reflects_while_creating_instances.png" alt="JSDoc_reflects_while_creating_instances" width="611" height="539" srcset="/wp-content/uploads/2017/03/JSDoc_reflects_while_creating_instances.png 611w, /wp-content/uploads/2017/03/JSDoc_reflects_while_creating_instances-300x265.png 300w, /wp-content/uploads/2017/03/JSDoc_reflects_while_creating_instances-400x353.png 400w" sizes="(max-width: 611px) 100vw, 611px" /></a><p id="caption-attachment-12138" class="wp-caption-text">JSDoc_reflects_while_creating_instances</p></div>
<h4><strong>New Rename options in JavaScript</strong></h4>
<p>You can now right click on any function name or class name and easily rename those in all references.</p>
<div id="attachment_12139" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/03/New_Rename_option_in_JavaScript.png"><img decoding="async" aria-describedby="caption-attachment-12139" class="size-large wp-image-12139" src="http://sibeeshpassion.com/wp-content/uploads/2017/03/New_Rename_option_in_JavaScript-1024x323.png" alt="New_Rename_option_in_JavaScript" width="634" height="200" srcset="/wp-content/uploads/2017/03/New_Rename_option_in_JavaScript-1024x323.png 1024w, /wp-content/uploads/2017/03/New_Rename_option_in_JavaScript-300x95.png 300w, /wp-content/uploads/2017/03/New_Rename_option_in_JavaScript-768x242.png 768w, /wp-content/uploads/2017/03/New_Rename_option_in_JavaScript-400x126.png 400w, /wp-content/uploads/2017/03/New_Rename_option_in_JavaScript.png 634w" sizes="(max-width: 634px) 100vw, 634px" /></a><p id="caption-attachment-12139" class="wp-caption-text">New_Rename_option_in_JavaScript</p></div>
<h4><strong>Find all references of functions or classes</strong></h4>
<p>You can now find the references of your functions or classes easily, just right click and click on Find all references.</p>
<div id="attachment_12140" style="width: 644px" class="wp-caption alignnone"><a href="http://sibeeshpassion.com/wp-content/uploads/2017/03/Find_all_references_in_JavaScript-e1489509869508.png"><img decoding="async" aria-describedby="caption-attachment-12140" class="size-full wp-image-12140" src="http://sibeeshpassion.com/wp-content/uploads/2017/03/Find_all_references_in_JavaScript-e1489509869508.png" alt="Find_all_references_in_JavaScript" width="634" height="275" srcset="/wp-content/uploads/2017/03/Find_all_references_in_JavaScript-e1489509869508.png 634w, /wp-content/uploads/2017/03/Find_all_references_in_JavaScript-e1489509869508-300x130.png 300w, /wp-content/uploads/2017/03/Find_all_references_in_JavaScript-e1489509869508-400x174.png 400w" sizes="(max-width: 634px) 100vw, 634px" /></a><p id="caption-attachment-12140" class="wp-caption-text">Find_all_references_in_JavaScript</p></div>
<p>That&#8217;s all for today. I will come with another set of features of Visual Studio 2017 very soon. Happy coding!.</p>
<h3><strong>References</strong></h3>
<ul>
<li><a href="https://www.visualstudio.com/" target="_blank" rel="noopener">Visual Studio</a></li>
</ul>
<h3><strong>See also</strong></h3>
<ul>
<li><a href="http://sibeeshpassion.com/category/Visual-Studio/" target="_blank" rel="noopener">Articles related to Visual Studio</a></li>
</ul>
<h3><strong>Conclusion</strong></h3>
<p>Did I miss anything that you may think which is needed? Could you find this post as useful? I hope you liked this article. Please share me your valuable suggestions and feedback.</p>
<h3><strong>Your turn. What do you think?</strong></h3>
<p>A blog isn’t a blog without comments, but do try to stay on topic. If you have a question unrelated to this post, you’re better off posting it on C# Corner, Code Project, Stack Overflow, Asp.Net Forum instead of commenting here. Tweet or email me a link to your question there and I’ll definitely try to help if I can.</p>
<p>Kindest Regards<br />
Sibeesh Venu</p>
]]></content:encoded>
					
					<wfw:commentRss>https://sibeeshpassion.com/why-visual-studio-2017-let-us-try-it-part-two/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
