首页 > 编程语言 >C# Dev Kit for Visual Studio Code

C# Dev Kit for Visual Studio Code

时间:2023-10-11 22:46:58浏览次数:30  
标签:Code C# Dev Visual VS Studio NET

Visual Studio Code安装C#开发工具包并编写ASP.NET Core Web应用

 

前言

  前段时间微软发布了适用于VS Code的C#开发工具包(注意目前该包还属于预发布状态但是可以正常使用),因为之前看过网上的一些使用VS Code搭建.NET Core环境的教程看着还挺复杂的就一直没有尝试使用VS Code来编写.NET Core。不过听说C# 开发工具包提供了一系列功能和扩展,从而极大的提高了VS Code中编写、调试和管理 C# 代码的体验。看到这个今天就不得不上手实战一下看看到底有没有官网描述的这么好用。

VS Code C#开发工具包介绍

微软官方描述:C#开发工具包旨在提高在VS Code中使用时的 C# 工作效率。 它与 C# 扩展协同工作,该扩展已更新为由新的完全开源的语言服务器协议 (LSP) 主机提供支持,打造了一个高性能、可扩展且灵活的工具环境,可以轻松地将新体验整合到适用于 VS Code 的 C# 中。

C# 开发工具包从 Visual Studio 中借用了一些熟悉的概念,为 VS Code 引入了更高效、更可靠的 C# 体验。 无论你是快速编辑 C# 文件、学习 C#,还是调试后端 API,此方法都可以确保获得出色的体验。 C# 开发工具包由一组 VS Code 扩展组成,它们共同提供丰富的 C# 编辑体验、AI 驱动的开发、解决方案管理和集成测试。 如下图所示,C# 开发工具包包括:

  • C# 扩展,它提供基本语言服务支持,并继续保持独立于这项工作。
  • C# 开发工具包扩展,它在 Visual Studio 的基础上生成,提供解决方案管理、模板和测试发现/调试。
  • 适用于 C# 开发工具包的 IntelliCode 扩展(可选),它将 AI 驱动的开发引入了编辑器。

VS Code C#开发工具包安装

C# Dev Kit for Visual Studio Code

C# Dev Kit for Visual Studio Code(C# Dev Kit)是一个扩展工具,它为您的C#开发提供了一系列强大的功能和实用工具,以帮助您更高效地编写、调试和维护代码。它能够在Windows、macOS、Linux甚至Codespace等各种开发环境中使用,提升您的C#开发体验。

打开VS Code=>找到拓展(Ctrl+Shift+x)=>搜索C# Dev Kit=>点击安装

C# for Visual Studio Code

C# for Visual Studio Code(C# for VS Code)是C# Dev Kit的一部分,为Visual Studio Code提供了功能丰富的C#语言支持。

打开VS Code=>找到拓展(Ctrl+Shift+x)=>搜索C#=>点击安装

本机.NET环境安装

编码之前你首先需要确保你的本机上安装了.NET SDK以确保应用能够正常的运行和构建。 .NET SDK下载:https://dotnet.microsoft.com/zh-cn/download

查询本机安装的.NET环境版本:

dotnet --version

创建一个ASP.NET Core Web应用

选择资源管理器=>Create .NET Project=>现在ASP.NET Core Web App

.NET Acquisition Failed: Installation failed: Error: .NET installation timed out.

NET 获取失败:安装失败:错误:.NET 安装超时。

微软官方解决方案:Troubleshooting Issues with .NET Install Tool for Extension Authors

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.

简单描述就是:打开VS Code设置把.NET Install超时时间设置长一点。可以先设置为180即为3分钟不够在加。

项目创建成功

VS Code快速运行ASP.NET Core Web应用

首先要进入应用的.csproj文件目录中,在终端中运行以下命令启动应用程序:

使用以下命令进入项目根目录:cd test001
使用以下命令运行应用程序:dotnet run

点击运行Now listening on: http://localhost:5191

创建一个UserModel

namespace Test001.Models;

public class UserModel
{
    public string UserName { get; set; }
    public string Sex { get; set; }
    public int Age { get; set; }
    public int Number { get; set; }
}

后端用户信息赋值

    public IActionResult Index()
    {
        List<UserModel> userInfoList = new List<UserModel>
        {
            new UserModel { UserName = "追逐时光者", Sex = "男", Age = 25, Number = 001 },
            new UserModel { UserName = "大姚", Sex = "男", Age = 26, Number = 002 },
            new UserModel { UserName = "小袁", Sex = "女", Age = 18, Number = 003 }
        };

        return View(userInfoList);
    }

前端输出用户信息

@model List<UserModel>
@{
    ViewData["Title"] = "Home Page";
}
<body>
    <style>
        .center {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
        }

        table {
            border-collapse: collapse;
            width: 100%;
            max-width: 600px;
            margin-top: 20px;
        }

        th, td {
            padding: 10px;
            text-align: center;
            border-bottom: 1px solid #ddd;
        }

        th {
            #f2f2f2;
        }
    </style>
    <div>
        <table>
            <thead>
                <tr>
                    <th>UserName</th>
                    <th>Sex</th>
                    <th>Age</th>
                    <th>Number</th>
                </tr>
            </thead>
            <tbody>
                @foreach (var userInfo in Model)
                {
                    <tr>
                        <td>@userInfo.UserName</td>
                        <td>@userInfo.Sex</td>
                        <td>@userInfo.Age</td>
                        <td>@userInfo.Number</td>
                    </tr>
                }
            </tbody>
        </table>
    </div>
</body>

语法高亮

智能提示和代码补全

最后预览效果

实战感受

实战下来个人感觉C#开发工具包确实提升了VS Code中编写.NET的开发效率和体验,主要包括语法高亮、指令提示、代码补全、代码导航和调试支持等功能。

当然选择使用VS Code还是Visual Studio 2022取决于个人偏好、项目需求以及开发环境。VS Code提供了轻量级、跨平台的开发环境,搭配丰富的扩展生态系统,适合那些喜欢简洁、高度可定制的开发环境的开发人员。而Visual Studio 2022则提供了更全面的功能和集成开发环境,适用于需要可视化设计、专有功能和更强大调试等需求的开发人员。

参考文章

标签:Code,C#,Dev,Visual,VS,Studio,NET
From: https://www.cnblogs.com/Leo_wl/p/17758406.html

相关文章

  • json_encode return false
    json_encodereturnfalse怎么办if(!json_encode($result,JSON_PARTIAL_OUTPUT_ON_ERROR)){ var_dump(json_last_error());//打印上一次的错误代码:int(5) //所有字符串数据的编码必须是UTF-8。 //mb_convert_encoding($str,"UTF-16");//把字符串转为utf-16编码 echo......
  • DellEMC 服务器安装ESXi的简单步骤
    DellEMC服务器安装ESXi的简单步骤背景ESXi的镜像其实分为多种.官方会发布一个版本的ISO.然后会不定期进行升级,解决安全,性能以及功能bug等.7.0为例的话就有ESXi7.0以及后面的u1和u2以及u3.一般到了u3就是到了支持周期的末尾了.u3后面会有一些子目用来表示新旧......
  • Spring Cloud 2023 新特性 同步网关
    网关不支持传统Servlet容器SpringCloudGateway需要运行在提供的Netty运行时。它不能在传统的Servlet容器中工作,也不能在构建为WAR时工作。WebFlux使用了异步非阻塞的编程模型,相较于传统的MVCServlet需要理解和适应新的编程范式和响应式编程概念,因此学习曲线可能......
  • Scanner类方法的使用
    classDemos01{publicstaticvoidmain(String[]args){//创建一个扫描器对象,用于接收键盘数据Scannerscanner=newScanner(System.in);//System.in是输入的意思System.out.println("使用next方式接收:");//判断用户有没有输入字串......
  • CF1333A [Little Artem]
    Problem题目简述给你一个\(n\timesm\)的方格,构造一个方案,使得方案中\(B=W+1\)。\(B\):相邻的格子有至少一个白色格子的黑色格子的个数。\(W\):相邻的格子有至少一个黑色格子的白色格子的个数。思路分奇偶讨论。\(n\timesm\)是偶数:构造一张黑、白相间的矩阵,左上......
  • 搭建 Kubernetes 集群 —— 命令行工具 kubectl
    命令行工具(kubectl)Kubernetes提供kubectl是使用KubernetesAPI与Kubernetes集群的控制面进行通信的命令行工具。这个工具叫做kubectl。一、在任意节点使用kubectl最开始只能在master节点上使用kubectl工具,比如kubectlgetnodes因为之前在部署master节点时......
  • CF1766B [Notepad#]
    Problem题目简述给你一个整数\(n\)和字符串\(s\),问:能不能在小于\(n\)次操作的情况下,输出字符串\(s\)。有两次操作可供使用:在已打出内容的最后添加一个字符。复制已打出内容的一个连续的子串并加到内容的末尾。思路用到的容器:\(\text{map}\)。用\(\text{map}\)来......
  • CF1401B [Ternary Sequence]
    Problem题目简述两个序列\(A,B\)。这两个序列都是由\(0,1,2\)这三个数构成。\(x_1,y_1,z_1\)和\(x_2,y_2,z_2\)分别代表\(A\)序列和\(B\)序列中\(0,1,2\)出现的次数。你可以重新排列两个序列中的元素,然后生成一个新序列\(C\),\(C\)的生成规则如下:\[C_i......
  • AI 帮写爬虫,真的吗? CodeWhisperer:当然!
    2023年技术圈什么最火?答案毫无疑问是AIGC,伴随该项技术的发展,新的编程方式也出现了,那就是用AI辅助编程,有了AI的加持,开发人员的效率和生产力可以得到大幅度的提升。今天我们就介绍一款非常棒的人工智能编程工具AmazonCodeWhisperer,相信我,用上他之后,你的工作效率至少能翻一......
  • 【Azure Developer】在App Service上放置一个JS页面并引用msal.min.js成功获取AAD用户
    问题描述在AppService上放置一个JS页面并引用msal.min.js,目的是获取AAD用户名并展示。问题解答示例代码<!DOCTYPEhtml><html><head><title>AzureService</title></head><scripttype="text/javascript"src="https://alcdn.msauth.net/......