Visual Studio Code安装C#开发工具包并编写ASP.NET Core Web应用
<h2 data-tool="mdnice编辑器"><span class="prefix"><span class="content">前言</span></span></h2><p data-tool="mdnice编辑器"> 前段时间微软发布了适用于VS Code的C#开发工具包(<span style="color: rgba(255, 0, 0, 1)">注意目前该包还属于预发布状态但是可以正常使用</span>),因为之前看过网上的一些使用VS Code搭建.NET Core环境的教程看着还挺复杂的就一直没有尝试使用VS Code来编写.NET Core。不过听说C# 开发工具包提供了一系列功能和扩展,从而极大的提高了VS Code中编写、调试和管理 C# 代码的体验。看到这个今天就不得不上手实战一下看看到底有没有官网描述的这么好用。</p>
<h2 data-tool="mdnice编辑器"><span class="prefix"><span class="content">VS Code C#开发工具包介绍</span></span></h2>
<blockquote class="multiquote-1" data-tool="mdnice编辑器">
<p>微软官方描述:C#开发工具包旨在提高在VS Code中使用时的 C# 工作效率。 它与 C# 扩展协同工作,该扩展已更新为由新的完全开源的语言服务器协议 (LSP) 主机提供支持,打造了一个高性能、可扩展且灵活的工具环境,可以轻松地将新体验整合到适用于 VS Code 的 C# 中。</p>
</blockquote>
<p data-tool="mdnice编辑器">C# 开发工具包从 Visual Studio 中借用了一些熟悉的概念,为 VS Code 引入了更高效、更可靠的 C# 体验。 无论你是快速编辑 C# 文件、学习 C#,还是调试后端 API,此方法都可以确保获得出色的体验。 C# 开发工具包由一组 VS Code 扩展组成,它们共同提供丰富的 C# 编辑体验、AI 驱动的开发、解决方案管理和集成测试。 如下图所示,C# 开发工具包包括:</p>
<ul data-tool="mdnice编辑器">
<li>C# 扩展,它提供基本语言服务支持,并继续保持独立于这项工作。</li>
<li>C# 开发工具包扩展,它在 Visual Studio 的基础上生成,提供解决方案管理、模板和测试发现/调试。</li>
<li>适用于 C# 开发工具包的 IntelliCode 扩展(可选),它将 AI 驱动的开发引入了编辑器。</li>
</ul>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708011125305-292882898.png" alt="" loading="lazy"></p>
<h2 data-tool="mdnice编辑器"><span class="prefix"><span class="content">VS Code C#开发工具包安装</span></span></h2>
<h3 data-tool="mdnice编辑器"><span class="prefix"><span class="content">C# Dev Kit for Visual Studio Code</span></span></h3>
<blockquote class="multiquote-1" data-tool="mdnice编辑器">
<p>C# Dev Kit for Visual Studio Code(C# Dev Kit)是一个扩展工具,它为您的C#开发提供了一系列强大的功能和实用工具,以帮助您更高效地编写、调试和维护代码。它能够在Windows、macOS、Linux甚至Codespace等各种开发环境中使用,提升您的C#开发体验。</p>
</blockquote>
<p data-tool="mdnice编辑器">打开VS Code=>找到拓展(Ctrl+Shift+x)=>搜索<code>C# Dev Kit</code>=>点击安装</p>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708011133975-129081825.png" alt="" loading="lazy"></p>
<h3 data-tool="mdnice编辑器"><span class="prefix"><span class="content">C# for Visual Studio Code</span></span></h3>
<blockquote class="multiquote-1" data-tool="mdnice编辑器">
<p>C# for Visual Studio Code(C# for VS Code)是C# Dev Kit的一部分,为Visual Studio Code提供了功能丰富的C#语言支持。</p>
</blockquote>
<p data-tool="mdnice编辑器">打开VS Code=>找到拓展(Ctrl+Shift+x)=>搜索<code>C#</code>=>点击安装</p>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708011143388-1777121906.png" alt="" loading="lazy"></p>
<h2 data-tool="mdnice编辑器"><span class="prefix"><span class="content">本机.NET环境安装</span></span></h2>
<blockquote class="multiquote-1" data-tool="mdnice编辑器">
<p>编码之前你首先需要确保你的本机上安装了.NET SDK以确保应用能够正常的运行和构建。 .NET SDK下载:https://dotnet.microsoft.com/zh-cn/download</p>
</blockquote>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708011203448-30570627.png" alt="" loading="lazy"></p>
<p data-tool="mdnice编辑器">查询本机安装的.NET环境版本:</p>
<pre class="custom" data-tool="mdnice编辑器"><code class="hljs">dotnet --version<br></code></pre>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708011155459-293421495.png" alt="" loading="lazy"></p>
<h2 data-tool="mdnice编辑器"><span class="prefix"><span class="content">创建一个ASP.NET Core Web应用</span></span></h2>
<p data-tool="mdnice编辑器">选择资源管理器=>Create .NET Project=>现在ASP.NET Core Web App</p>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708133240979-1244995342.png" alt="" loading="lazy"></p>
<h3 data-tool="mdnice编辑器"><span class="prefix"><span class="content">.NET Acquisition Failed: Installation failed: Error: .NET installation timed out.</span></span></h3>
<blockquote class="multiquote-1" data-tool="mdnice编辑器">
<p>NET 获取失败:安装失败:错误:.NET 安装超时。</p>
</blockquote>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708011225090-1794845806.png" alt="" loading="lazy"></p>
<p data-tool="mdnice编辑器">微软官方解决方案:Troubleshooting Issues with .NET Install Tool for Extension Authors</p>
<blockquote class="multiquote-1" data-tool="mdnice编辑器">
<p>Learn more about configuring Visual Studio Code settings here and see below for an example of a custom timeout in a settings.json file. In this example the custom timeout value is 180 seconds, or 3 minutes.</p>
</blockquote>
<p data-tool="mdnice编辑器">简单描述就是:打开VS Code设置把.NET Install超时时间设置长一点。可以先设置为180即为3分钟不够在加。</p>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708011234200-25189120.png" alt="" loading="lazy"></p>
<h3 data-tool="mdnice编辑器"><span class="prefix"><span class="content">项目创建成功</span></span></h3>
<p><span class="prefix"><span class="content"><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708133949785-1972405057.png" alt="" loading="lazy"></span></span></p>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708134151671-1371307296.png" alt="" loading="lazy"></p>
<h2 data-tool="mdnice编辑器"><span class="prefix"><span class="content">VS Code快速运行ASP.NET Core Web应用</span></span></h2>
<p data-tool="mdnice编辑器">首先要进入应用的.csproj文件目录中,在终端中运行以下命令启动应用程序:</p>
<pre class="custom" data-tool="mdnice编辑器"><code class="hljs">使用以下命令进入项目根目录:cd test001<br>使用以下命令运行应用程序:dotnet run</code></pre>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708134418417-1186785443.png" alt="" loading="lazy"></p>
<blockquote class="multiquote-1" data-tool="mdnice编辑器">
<p>点击运行Now listening on: http://localhost:5191</p>
</blockquote>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708011315443-683299251.png" alt="" loading="lazy"></p>
<h2 data-tool="mdnice编辑器"><span class="prefix"><span class="content">创建一个UserModel</span></span></h2>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708145324258-1723311419.png" alt="" loading="lazy"></p>
<pre class="custom" data-tool="mdnice编辑器"><code class="hljs"><span class="hljs-keyword">namespace <span class="hljs-title">Test001.Models;<br><br><span class="hljs-keyword">public <span class="hljs-keyword">class <span class="hljs-title">UserModel<br>{<br> <span class="hljs-keyword">public <span class="hljs-keyword">string UserName { <span class="hljs-keyword">get; <span class="hljs-keyword">set; }<br> <span class="hljs-keyword">public <span class="hljs-keyword">string Sex { <span class="hljs-keyword">get; <span class="hljs-keyword">set; }<br> <span class="hljs-keyword">public <span class="hljs-keyword">int Age { <span class="hljs-keyword">get; <span class="hljs-keyword">set; }<br> <span class="hljs-keyword">public <span class="hljs-keyword">int Number { <span class="hljs-keyword">get; <span class="hljs-keyword">set; }<br>}<br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
<h2 data-tool="mdnice编辑器"><span class="prefix"><span class="content">后端用户信息赋值</span></span></h2>
<pre class="custom" data-tool="mdnice编辑器"><code class="hljs"> <span class="hljs-function"><span class="hljs-keyword">public IActionResult <span class="hljs-title">Index(<span class="hljs-params">)<br> {<br> List<UserModel> userInfoList = <span class="hljs-keyword">new List<UserModel><br> {<br> <span class="hljs-keyword">new UserModel { UserName = <span class="hljs-string">"追逐时光者", Sex = <span class="hljs-string">"男", Age = <span class="hljs-number">25, Number = <span class="hljs-number">001 },<br> <span class="hljs-keyword">new UserModel { UserName = <span class="hljs-string">"大姚", Sex = <span class="hljs-string">"男", Age = <span class="hljs-number">26, Number = <span class="hljs-number">002 },<br> <span class="hljs-keyword">new UserModel { UserName = <span class="hljs-string">"小袁", Sex = <span class="hljs-string">"女", Age = <span class="hljs-number">18, Number = <span class="hljs-number">003 }<br> };<br><br> <span class="hljs-keyword">return View(userInfoList);<br> }<br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
<h2 data-tool="mdnice编辑器"><span class="prefix"><span class="content">前端输出用户信息</span></span></h2>
<pre class="custom" data-tool="mdnice编辑器"><code class="hljs">@model List<UserModel><br>@{<br> ViewData[<span class="hljs-string">"Title"] = <span class="hljs-string">"Home Page";<br>}<br><body><br> <style><br> .center {<br> display: flex;<br> justify-content: center;<br> align-items: center;<br> height: <span class="hljs-number">100vh;<br> }<br><br> table {<br> border-collapse: collapse;<br> width: <span class="hljs-number">100%;<br> max-width: <span class="hljs-number">600px;<br> margin-top: <span class="hljs-number">20px;<br> }<br><br> th, td {<br> padding: <span class="hljs-number">10px;<br> text-align: center;<br> border-bottom: <span class="hljs-number">1px solid <span class="hljs-meta">#ddd;<br> }<br><br> th {<br> <span class="hljs-meta">#f2f2f2;<br> }<br> </style><br> <div><br> <table><br> <thead><br> <tr><br> <th>UserName</th><br> <th>Sex</th><br> <th>Age</th><br> <th>Number</th><br> </tr><br> </thead><br> <tbody><br> @<span class="hljs-keyword">foreach (<span class="hljs-keyword">var userInfo <span class="hljs-keyword">in Model)<br> {<br> <tr><br> <td>@userInfo.UserName</td><br> <td>@userInfo.Sex</td><br> <td>@userInfo.Age</td><br> <td>@userInfo.Number</td><br> </tr><br> }<br> </tbody><br> </table><br> </div><br></body></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
<h2 data-tool="mdnice编辑器">语法高亮</h2>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708201245958-1010033283.png" alt="" loading="lazy"></p>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708203053644-2032651204.png" alt="" loading="lazy"></p>
<h2>智能提示和代码补全</h2>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708202147231-1728087571.png" alt="" loading="lazy"></p>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708201312069-1479927090.png" alt="" loading="lazy"></p>
<h2 data-tool="mdnice编辑器"><span class="prefix"><span class="content">最后预览效果</span></span></h2>
<p><img src="https://img2023.cnblogs.com/blog/1336199/202307/1336199-20230708145333105-250887575.png" alt="" loading="lazy"></p>
<h2 data-tool="mdnice编辑器"><span class="prefix"><span class="content">实战感受</span></span></h2>
<blockquote class="multiquote-1" data-tool="mdnice编辑器">
<p>实战下来个人感觉C#开发工具包确实提升了VS Code中编写.NET的开发效率和体验,主要包括语法高亮、指令提示、代码补全、代码导航和调试支持等功能。</p>
</blockquote>
<p data-tool="mdnice编辑器">当然选择使用VS Code还是Visual Studio 2022取决于个人偏好、项目需求以及开发环境。VS Code提供了轻量级、跨平台的开发环境,搭配丰富的扩展生态系统,适合那些喜欢简洁、高度可定制的开发环境的开发人员。而Visual Studio 2022则提供了更全面的功能和集成开发环境,适用于需要可视化设计、专有功能和更强大调试等需求的开发人员。</p>
<h2 data-tool="mdnice编辑器"><span class="prefix"><span class="content">参考文章</span></span></h2>
<ul data-tool="mdnice编辑器">
<li>https://learn.microsoft.com/zh-cn/visualstudio/subscriptions/vs-c-sharp-dev-kit</li>
<li>https://learn.microsoft.com/zh-cn/dotnet/core/tutorials/with-visual-studio-code?pivots=dotnet-7-0</li>
</ul>
</div>
<div id="MySignature" role="contentinfo">
<blockquote >
<p style='font-family:YouYuan;font-size: 16px;margin: 0 auto 0.01em auto;'><span style='font-size: 17px; '>作者名称:</span>追逐时光者</p>
<p style='font-family:YouYuan;font-size: 16px;margin: 0 auto 0.01em auto;'><span style='font-size: 17px; '>作者简介:</span>一个热爱编程、善于分享、喜欢学习、探索、尝试新事物和新技术的全栈软件工程师。</p>
<p style='font-family:YouYuan;font-size: 16px;margin: 0 auto 0.01em auto;'>
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。如果该篇文章对您有帮助的话,可以点一下右下角的【♥推荐♥】,希望能够持续的为大家带来好的技术文章,文中可能存在描述不正确的地方,欢迎指正或补充,不胜感激。
</p>
</blockquote><br><br>
来源:https://www.cnblogs.com/Can-daydayup/p/17536480.html
頁:
[1]