vscode里配置C#环境并运行.cs文件

    vscode是一款跨平台、轻量级、开源的IDE, 支持C、C++、Java、C#、R、Python、Go、Nodejs等多种语言的开发和调试。下面介绍在vscode里配置C#环境。这里以配置.Net SDK v5.0,语言版本为C#9.0,对应的开发平台为VS2019,作为案例说明。

1、下载vscode

    vscode每3个月就有一次版本更新,而且分为Linux、Mac、Window这个平台版本,这里只介绍Window平台版本的下载。
    vscode官网: https://code.visualstudio.com/download

图(1) 下载vscode

    下载vscode后,双击该安装包,一路默认,直到安装完成。

2、下载.Net SDK v5.0

    C#语言从2002年2月开始发布的,最初版本是v1.0,接着2003年是C# 1.1,2005年是C# 2.0,2007年是C# 3.0, 2010年是C# 4.0, 2012年是C# 5.0,…,到2022年C#的版本发展到了v11, C#的更新换代非常快,如下表所示:

IDEC#版本.Net Framework版本.Net Core版本特性
Visual Studio 2002C# 1.0.NET Framework 1.0委托和事件
Visual Studio 2003C# 1.1.NET Framework 1.2APM(异步编程模型)
Visual Studio 2005C# 2.0.NET Framework 2.0泛型、匿名方法、迭代器、可空类型
Visual Studio 2008C# 3.0.NET Framework 3.0隐式类型
Visual Studio 2008C# 3.0.NET Framework 3.5lambda表达式,自动实现属性,对象集合初始化,匿名方法,扩展方法,LINQ
Visual Studio 2010C# 4.0.NET Framework 4.0动态绑定,命名和可选参数,泛型的协变和逆变
Visual Studio 2012C# 5.0.NET Framework 4.5异步和等待,调用方信息
Visual Studio 2013C# 5.0.NET Framework 4.5异步和等待,调用方信息
Visual Studio 2015C# 6.0.NET Framework 4.6.Net Core 1.0C#静态导入,异常筛选器,Null传播器,nameof预算符
Visual Studio 2017C# 7.0/7.1/7.2/7.3.NET Framework 4.6.2/4.7/4.7.1/4.7.2.Net Core 2.0/2.1/2.2C#模式匹配,元组和析构函数,ref局部变量
Visual Studio 2019C# 8.0.NET Framework 4.8.Net Core 3.0/3.1C#异步流,ReadOnly成员,非托管构造类型
Visual Studio 2019C# 9.0.NET Framework 4.8.Net Core 5.0C#函数指针,static匿名函数,协变返回类型
Visual Studio 2022C# 10.0.NET Framework 4.8.Net Core 6.0C#扩展属性模式,记录结构,密封ToString()
Visual Studio 2022C# 11.NET Framework 4.8.Net Core 6.0C# UTF-8支持,列表模式,数值IntPtr

    本文由于要与Visual Studio 2019配套,所以下载.Net SDK v5.0版本,地址为: https://dotnet.microsoft.com/zh-cn/download/dotnet,右击".Net 5.0",在新页面里找到SDK 5.0.214版本,选择 Windows X64版本,下载即可,如图(2)、图(3)所示:

图(2) 选择.Net 5.0版本

图(3) 选择 Windows X64版本进行下载

3、安装插件

    打开vscode软件,点击vscode左侧的田字图标,安装三个插件:code runner、.Net Install Tool for Extension Authors、C#, 分别如图(4)、图(5)、图(6)所示:

图(4) 安装Code Runner插件

图(5) 安装.Net Install Tool for Extensioni Authors插件

图(6) 安装C#插件

4、配置插件

    设置Code Runner插件里的.cs文件的编译方式,点击vscode左侧的田字图标 --》 输入: runner --》找到Code Runner --》右击齿轮图标 --》扩展设置 --》找到 executor Map --》在settings.json中编辑,如图(7)、图(8)所示:

图(7) 点击田字 --》输入: runner ---》找到Code Runner

图(8) 找到 Executor Map

    Code Runner插件的的settings.json 的全部配置如下:

{"workbench.colorTheme": "One Dark Modern","go.gopath": "D:\\Ide\\GoProject","go.goroot": "D:\\Ide\\Go","code-runner.languageIdToFileExtensionMap": {"bat": ".bat","powershell": ".ps1","typescript": ".ts"},"code-runner.executorMap": {                 "javascript": "node","java": "cd $dir && javac $fileName && java $fileNameWithoutExt","c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt","zig": "zig run","cpp": "cd $dir && g++ -std=c++11 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt","objective-c": "cd $dir && gcc -framework Cocoa $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt","php": "php","python": "python -u","perl": "perl","perl6": "perl6","ruby": "ruby","go": "go run","lua": "lua","groovy": "groovy","powershell": "powershell -ExecutionPolicy ByPass -File","bat": "cmd /c","shellscript": "bash","fsharp": "fsi","csharp": "cd $dir && dotnet run","vbscript": "cscript //Nologo","typescript": "ts-node","coffeescript": "coffee","scala": "scala","swift": "swift","julia": "julia","crystal": "crystal","ocaml": "ocaml","r": "Rscript","applescript": "osascript","clojure": "lein exec","haxe": "haxe --cwd $dirWithoutTrailingSlash --run $fileNameWithoutExt","rust": "cd $dir && rustc $fileName && $dir$fileNameWithoutExt","racket": "racket","scheme": "csi -script","ahk": "autohotkey","autoit": "autoit3","dart": "dart","pascal": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt","d": "cd $dir && dmd $fileName && $dir$fileNameWithoutExt","haskell": "runghc","nim": "nim compile --verbosity:0 --hints:off --run","lisp": "sbcl --script","kit": "kitc --run","v": "v run","sass": "sass --style expanded","scss": "scss --style expanded","less": "cd $dir && lessc $fileName $fileNameWithoutExt.css","FortranFreeForm": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt","fortran-modern": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt","fortran_fixed-form": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt","fortran": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt","sml": "cd $dir && sml $fileName"},"C_Cpp.default.intelliSenseMode": "windows-gcc-x64","workbench.editor.languageDetectionHints": {"notebookEditors": false},"C_Cpp.default.compilerArgs": ["-std=c++11"],"C_Cpp.default.compilerPath": "","code-runner.executorMapByGlob": {"pom.xml": "cd $dir && mvn clean package"}
}

    C# 全称为c sharp,则在settings.json里的配置如下:

"code-runner.executorMap": {  "csharp": "cd $dir && dotnet run",
},

5、创建工程HelloCsharp

    打开vscode软件,点击vscode菜单栏里的【终端】–》新建终端 --》输入: cmd,切换到cmd模式 --》创建一个C#控制台工程: HelloCsharp的命令为:

dotnet new console -n HelloCsharp

    进入HelloCsharp工程目录

cd HelloCsharp

    编译C#工程,并运行.cs文件

dotnet run

    如图(9)所示:

图(9)创建C#程序,并编译运行

参考文献

  • [1] C#语言版本发展历史.microsoft.learn
  • [2].Net版本发展历史.microsoft.learn
  • [3] C#历史简介.wikepedia

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/102537.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode-经典面试150题-day9]

目录 36.有效的数独 54.螺旋矩阵 48.旋转图像 73.矩阵置零 36.有效的数独 题意: 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1…

25岁无经验入行软件测试的感悟,写给还在迷茫中的你

转行软件测试两年了,这两年来,从刚开始对测试认识的朦朦胧胧,现在思路也逐渐清晰了,也明确了自己的发展方向。虽然对那些测试理论和测试工具以及测试技术有了一些加强,但是自我感觉还是不够深入。 我一直希望能真正融…

《网络是怎样连接的》(四)

本文主要取材于 《网络是怎样连接的》 第四章。 目录 4.1 互联网的基本结构 4.2光纤接入网(FTTH) 4.3 接入网中使用的PPP和隧道 4.4 网络运营商的内部 4.5 跨越运营商的网络包 简述:本文主要内容是解释 网络包是如何通过互联网接入路由…

【0823作业】C++:实现类嵌套,以及其构造函数、析构函数和拷贝构造函数

要求&#xff1a; 设计一个Per类。类中包含私有成员&#xff1a;姓名、年龄、指针成员身高、体重&#xff1b; 再设计一个Stu类&#xff0c;类中包含私有成员&#xff1a;成绩、Per类对象 p1&#xff1b; 设计这两个类的构造函数、析构函数和拷贝构造函数。 #include <iostr…

【广州华锐视点】AR配电所巡检系统:可视化巡检利器

随着科技的发展&#xff0c;人工智能、大数据等技术逐渐应用于各个领域&#xff0c;为人们的生活带来便利。在电力行业&#xff0c;AR(增强现实)技术的应用也日益广泛。AR配电所巡检系统作为一种新型的巡检方式&#xff0c;可以实现多种功能&#xff0c;提高巡检效率&#xff0…

如何在Windows、Mac和Linux操作系统上安装Protocol Buffers(protobuf)编译器

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

Android类加载机制

要说Android的类加载机制 &#xff0c;就离不开 类加载器ClassLoader&#xff0c;它是一个抽象接口 下面这个图还是比较好表达了类加载流程&#xff0c;但如果不看我红色画的线&#xff0c;就会感觉有点乱&#xff0c;需要注意是采用的是双亲委派模式&#xff0c;class加载要先…

测试驱动开发(TDD)

测试驱动开发&#xff08;TDD&#xff09; 本篇文章简单叙述一下什么是测试驱动开发&#xff0c;以及怎么进行测试驱动开发&#xff01; TDD &#xff08;Test Driven Development&#xff09;&#xff1a;&#xff08;源于极限编程&#xff08;XP&#xff09;&#xff09;在不…

9.Sentinel哨兵

1.Sentinel Sentinel&#xff08;哨兵&#xff09;是由阿里开源的一款流量控制和熔断降级框架&#xff0c;用于保护分布式系统中的应用免受流量涌入、超载和故障的影响。它可以作为微服务架构中的一部分&#xff0c;用于保护服务不被异常流量冲垮&#xff0c;从而提高系统的稳定…

JavaSE 数组

定义&#xff1a; int []arr; int arr[]; 初始化 // 完整格式 int arr[] new int[]{1, 2, 3}; // 简单格式 int arr[] {1, 2, 3}; 数组的元素访问、遍历 按照下标访问即可。数组的长度函数为 arr.length()。idea快速生成遍历的方法&#xff1a;数组名.fori 静态初始化 &a…

element时间选择器el-date-picter使用disabledDate指定禁用的日期

需要的效果 <el-date-pickerclass"selectstyle"v-model"year"value-format"yyyy"type"year":picker-options"disabledCli"placeholder"选择年"> </el-date-picker>data() {return {disabledCli: {/…

5G+AI数字化智能工厂建设解决方案PPT

导读&#xff1a;原文《5GAI数字化智能工厂建设解决方案》&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。数字化智能工厂定义 智能基础架构协同框架 - 端、边、云、网…

微信小程序手机号验证开发遇到问题

公司小程序项目中快速登录需要实现微信用户授权手机登录、注册功能。结果遇到了 invalid code hint: [zHkDmt0sf-MBjga] rid: 64e3259f-1091b953-7e10f1da 目录 服务端文档 文档描述 返回信息 服务端代码 遇到问题 排查问题 1.服务端用错了appid serect 2.小程序端用错…

C++(Qt)软件调试---gdb调试入门用法(12)

gdb调试—入门用法&#xff08;1&#xff09; 文章目录 gdb调试---入门用法&#xff08;1&#xff09;1、前言1.1 什么是GDB1.2 为什么要学习GDB1.3 主要内容1.4 GDB资料 2、C/C开发调试环境准备3、gdb启动调试1.1 启动调试并传入参数1.2 附加到进程1.3 过程执行1.4 退出调试 4…

Spark第二课RDD的详解

1.前言 RDD JAVA中的IO 1.小知识点穿插 1. 装饰者设计模式 装饰者设计模式:本身功能不变,扩展功能. 举例&#xff1a; 数据流的读取 一层一层的包装&#xff0c;进而将功能进行进一步的扩展 2.sleep和wait的区别 本质区别是字体不一样,sleep斜体,wait正常 斜体是静态方法…

vue3+elementPlus table里添加输入框并提交校验

<template><div><el-form :model"info" ref"forms"><el-tableref"tableRef":data"info.data"border><el-table-column align"center" property"name" label"*姓名"><…

springboot整合rabbitmq

添加依赖 <!--RabbitMQ 依赖--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><dependency><groupId>org.springframework.boot</gro…

DFX概述 | Design For X | Design For Excellent

Design for X (DFX) Methods 什么是“Design for X”&#xff1f; Design for eXcellence是一种在设计和制造领域中的不断发展的原则哲学。它采用了全面和系统的设计方法&#xff0c;关注产品的各个方面——从概念生成到最终交付。 它提供了良好的实践和设计指南&#xff0c…

【RHEL】硬盘分区与格式化

fdisk命令 在linux中&#xff0c;fdisk是基于菜单的命令。对硬盘分区时&#xff0c;可以在fdisk命令后面直接加上要分区的硬盘作为参数(分区工具) 利用如下所示命令&#xff0c;打开fdisk操作菜单。 输入p,查看当前分区表。从命令执行结果可以到&#xff0c;/dev/mapper/rhel…

Python入门【原生字符串、边界字符、search函数、re模块中其他常用的函数 、贪婪模式和非贪婪模式、择一匹配(|)的使用、分组】(三十)

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小王&#xff0c;CSDN博客博主,Python小白 &#x1f4d5;系列专栏&#xff1a;python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 &#x1f4e7;如果文章知识点有错误…