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
下载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#的更新换代非常快,如下表所示:
| IDE | C#版本 | .Net Framework版本 | .Net Core版本 | 特性 |
|---|---|---|---|---|
| Visual Studio 2002 | C# 1.0 | .NET Framework 1.0 | 无 | 委托和事件 |
| Visual Studio 2003 | C# 1.1 | .NET Framework 1.2 | 无 | APM(异步编程模型) |
| Visual Studio 2005 | C# 2.0 | .NET Framework 2.0 | 无 | 泛型、匿名方法、迭代器、可空类型 |
| Visual Studio 2008 | C# 3.0 | .NET Framework 3.0 | 无 | 隐式类型 |
| Visual Studio 2008 | C# 3.0 | .NET Framework 3.5 | 无 | lambda表达式,自动实现属性,对象集合初始化,匿名方法,扩展方法,LINQ |
| Visual Studio 2010 | C# 4.0 | .NET Framework 4.0 | 无 | 动态绑定,命名和可选参数,泛型的协变和逆变 |
| Visual Studio 2012 | C# 5.0 | .NET Framework 4.5 | 无 | 异步和等待,调用方信息 |
| Visual Studio 2013 | C# 5.0 | .NET Framework 4.5 | 无 | 异步和等待,调用方信息 |
| Visual Studio 2015 | C# 6.0 | .NET Framework 4.6 | .Net Core 1.0 | C#静态导入,异常筛选器,Null传播器,nameof预算符 |
| Visual Studio 2017 | C# 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.2 | C#模式匹配,元组和析构函数,ref局部变量 |
| Visual Studio 2019 | C# 8.0 | .NET Framework 4.8 | .Net Core 3.0/3.1 | C#异步流,ReadOnly成员,非托管构造类型 |
| Visual Studio 2019 | C# 9.0 | .NET Framework 4.8 | .Net Core 5.0 | C#函数指针,static匿名函数,协变返回类型 |
| Visual Studio 2022 | C# 10.0 | .NET Framework 4.8 | .Net Core 6.0 | C#扩展属性模式,记录结构,密封ToString() |
| Visual Studio 2022 | C# 11 | .NET Framework 4.8 | .Net Core 6.0 | C# 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)所示:
3、安装插件
打开vscode软件,点击vscode左侧的田字图标,安装三个插件:code runner、.Net Install Tool for Extension Authors、C#, 分别如图(4)、图(5)、图(6)所示:
4、配置插件
设置Code Runner插件里的.cs文件的编译方式,点击vscode左侧的田字图标 --》 输入: runner --》找到Code Runner --》右击齿轮图标 --》扩展设置 --》找到 executor Map --》在settings.json中编辑,如图(7)、图(8)所示:
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)所示:
参考文献
- [1] C#语言版本发展历史.microsoft.learn
- [2].Net版本发展历史.microsoft.learn
- [3] C#历史简介.wikepedia
相关文章:
vscode里配置C#环境并运行.cs文件
vscode是一款跨平台、轻量级、开源的IDE, 支持C、C、Java、C#、R、Python、Go、Nodejs等多种语言的开发和调试。下面介绍在vscode里配置C#环境。这里以配置.Net SDK v5.0,语言版本为C#9.0,对应的开发平台为VS2019,作为案例说明。 1、下载vsc…...
uniapp配置添加阿里巴巴图标icon流程步骤
文章目录 下载复制文件到项目文件夹里项目配置目录结构显示图标 下载 阿里巴巴icon官网 https://www.iconfont.cn/ 复制文件到项目文件夹里 项目配置目录结构 显示图标...
大模型基础02:GPT家族与提示学习
大模型基础:GPT 家族与提示学习 从 GPT-1 到 GPT-3.5 GPT(Generative Pre-trained Transformer)是 Google 于2018年提出的一种基于 Transformer 的预训练语言模型。它标志着自然语言处理领域从 RNN 时代进入 Transformer 时代。GPT 的发展历史和技术特点如下: GP…...
算法基础课——基础算法(模板整理)
快速排序 快速排序 #include <iostream> #include <algorithm> using namespace std; int n; int s[100000]; int main() {cin>>n;for(int i0;i<n;i){cin>>s[i];}sort(s,sn);for(int i0;i<n;i){cout<<s[i]<<" ";}cout<…...
如何解决使用npm出现Cannot find module ‘XXX\node_modules\npm\bin\npm-cli.js’错误
遇到问题:用npm下载组件时出现Cannot find module ‘D:software\node_modules\npm\bin\npm-cli.js’ 问题,导致下载组件不能完成。 解决方法:下载缺少的npm文件即可解决放到指定node_modules目录下即可解决。 分析问题࿱…...
【华为认证数通高级证书实验-分享篇2】
实验拓扑 注:代码块为各交换机路由器中的配置命令 配置拓扑文件 实验要求 实现全网通 实验配置 SW3 [SW3]v b 10 20 [SW3]int e0/0/1 [SW3-Ethernet0/0/1]po link-t a [SW3-Ethernet0/0/1]po de v 10 [SW3-Ethernet0/0/1]int e0/0/2 [SW3-Ethernet0/0/2]po li…...
ui设计需要学编程吗难不难学习 优漫动游
ui设计需要学编程吗难不难学习,对于基础小白来说学习编程确实有一定难度,所以很想知道零基础学习ui设计需要学编程吗,需不需要写代码呢,这些问题小编来简单的分析分析解决零基础小白的一些困惑,希望对你有帮助。 ui…...
什么是线程优先级?Java中的线程优先级是如何定义和使用的?
线程优先级是指在多线程环境中,通过给线程分配不同的优先级来决定线程获取CPU时间片的顺序。优先级较高的线程会更有可能被调度执行,而优先级较低的线程可能会获得较少的CPU时间。 在Java中,线程优先级是通过整数表示的,范围从1到…...
无涯教程-TensorFlow - XOR实现
在本章中,无涯教程将学习使用TensorFlow的XOR实现,在TensorFlow中开始XOR实施之前,看一下XOR表值。这将帮助了解加密和解密过程。 A B A XOR B 0 0 0 0 1 1 1 0 1 1 1 0 XOR密码加密方法基本上用于加密,即通过生成与适当密钥匹配…...
计算机组成与设计 Patterson Hennessy 笔记(二)MIPS 指令集
计算机的语言:汇编指令集 也就是指令集。本书主要介绍 MIPS 指令集。 汇编指令 算数运算: add a,b,c # abc sub a,b,c # ab-cMIPS 汇编的注释是 # 号。 由于MIPS中寄存器大小32位,是基本访问单位,因此也被称为一个字 word。M…...
【设计模式】模板方法模式(Template Method Pattern)
23种设计模式之模板方法模式(Template Method Pattern) 基本概念 模板方法模式是一种行为型设计模式,它定义了一个算法骨架,将某些算法步骤的实现延迟到子类中。 这样可以使得算法的框架不被修改,但是具体的实现可以…...
【潮州饶平】联想 IBM x3850 x6 io主板故障 服务器维修
哈喽 最近比较忙也好久没有更新服务器维修案例了,这次分享一例潮州市饶平县某企业工厂一台IBM System x3850 x6服务器亮黄灯告警且无法正常开机的服务器故障问题。潮州饶平ibm服务器维修IO主板故障问题 故障如下图所示: 故障服务器型号:IBM 或…...
【AIGC】 国内版聊天GPT
国内版聊天GPT 引言一、国内平台二、简单体验2.1 提问2.2 角色扮演2.3 总结画图 引言 ChatGPT是OpenAI发开的聊天程序,功能强大,可快速获取信息,节省用户时间和精力,提供个性化的服务。目前国产ChatGPT,比如文心一言&a…...
如何在Vue中进行单元测试?什么是Vue的模块化开发?
1、如何在Vue中进行单元测试? 在Vue中进行单元测试可以提高代码的可维护性和可读性,同时也能够帮助开发者更快地找到代码中的问题和潜在的错误。下面是一些在Vue中进行单元测试的步骤: 安装单元测试工具 首先需要安装一个单元测试工具&…...
Matlab编程示例3:Matlab求二次积分的编程示例
1.在MATLAB中,可以使用符号计算工具箱(Symbolic Math Toolbox)中的int函数来求解二次积分。 2.下面是一个简单的MATLAB程序示例,演示二次函数f (x,y) x^2 y^2,在x∈[0 1]和y∈[0 1]的积分区间上,计算积分结果: syms…...
【Linux】线程同步和死锁
目录 死锁 什么是死锁 构成死锁的四个必要条件 如何避免死锁 线程同步 同步的引入 同步的方式 条件变量 条件变量的使用 整体代码 死锁 什么是死锁 死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所占用不会释放 的资源而处…...
Matplotlib数据可视化(二)
目录 1.rc参数设置 1.1 lines.linestype取值 1.2 lines.marker参数的取值 1.3 绘图中文预设 1.4 示例 1.4.1 示例1 1.4.2 示例2 1.rc参数设置 利用matplotlib绘图时为了让绘制出的图形更加好看,需要对参数进行设置rc参数设置。可以通过以下代码查看matplotli…...
图像去雨-雨线清除-图像处理-(计算机作业附代码)
背景 多年来,图像去雨已经被广泛研究,使用传统方法和基于学习的方法。然而,传统方法如高斯混合模型和字典学习方法耗时,并且无法很好地处理受到严重雨滴影响的图像块。 算法 通过考虑雨滴条状特性和角度分布,这个问…...
pycharm调整最大堆发挥最大
python程序运行时,怎么提高效率,设置pycharm最大堆过程如下; 一、进入设置pycharm最大堆; 二、进入设置pycharm最大堆; 如果8g设置为6g左右,占75%左右最佳...
uni-app 经验分享,从入门到离职(二)—— tabBar 底部导航栏实战基础篇
文章目录 📋前言⏬关于专栏 🎯关于小程序 tabbar 的一些知识🎯创建一个基本的 tabBar📝最后 📋前言 这篇文章的内容主题是关于小程序的 tabBar 底部导航栏的入门使用和实战技巧。通过上一篇文章的基础,我们…...
告别重复劳动:用快马AI自动生成akshare数据清洗与分析流水线
告别重复劳动:用快马AI自动生成akshare数据清洗与分析流水线 金融数据分析中,数据获取和清洗往往是最耗时的环节。每次研究新标的,我们都要重复编写类似的代码:从不同接口获取数据、对齐时间轴、处理缺失值、计算技术指标……这些…...
CAD_Sketcher终极指南:如何在Blender中实现精准约束绘图
CAD_Sketcher终极指南:如何在Blender中实现精准约束绘图 【免费下载链接】CAD_Sketcher Constraint-based geometry sketcher for blender 项目地址: https://gitcode.com/gh_mirrors/ca/CAD_Sketcher 你是否曾在Blender中尝试绘制精确的机械零件或建筑平面图…...
深度解析Mi-Create:开源智能手表表盘编辑器的完整实践指南
深度解析Mi-Create:开源智能手表表盘编辑器的完整实践指南 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 项目愿景与定位 在智能穿戴设备快速发展…...
ubuntu系统检测内核配置是否支持Docker核心模块
有一些内核缺少 Docker 所需的核心模块(overlayfs、bridge、iptables 相关等)所以在安装docker之前可以先检查一下。 脚本,可以检测Kernel配置是否符合Docker的运行要求 源地址:https://github.com/moby/moby/blob/master/contr…...
华为交换机流量统计配置全攻略:从ACL到流策略的保姆级教程
华为交换机流量统计配置全攻略:从ACL到流策略的保姆级教程 在网络运维工作中,流量统计是排查故障、优化性能的基础技能。想象一下这样的场景:某天凌晨,核心业务突然出现访问延迟,你需要快速判断是服务器问题还是网络链…...
语音播报实时
目录 GPT-SoVITS(强烈推荐) Fish Speech-1.5 GPT-SoVITS(强烈推荐) RVC-Boss/GPT-SoVITS: 1 min voice data can also be used to train a good TTS model! (few shot voice cloning) Fish Speech-1.5 追求极致流畅的实时对话&a…...
TscanCode静态代码扫描工具原理与实践
嵌入式静态代码扫描工具TscanCode深度解析1. 静态代码分析技术概述1.1 静态代码扫描原理静态代码扫描是一种在不实际执行程序的情况下,通过词法分析、语法分析、控制流和数据流分析等技术对源代码进行检测的方法。这种技术能够有效识别代码中潜在的错误和缺陷&#…...
嵌入式哈希表实现:无malloc线性探测Hash Map
1. 项目概述 hashmap.c 是一个面向嵌入式系统深度优化的纯 C 语言哈希映射(Hash Map)实现,不依赖标准库(如 stdlib.h 、 string.h ),完全可移植于裸机环境、RTOS(FreeRTOS、Zephyr、RT-Thr…...
TEA加密算法实战:用Python和C语言实现QQ同款加密(附完整代码)
TEA加密算法实战:从原理到跨语言实现 在即时通讯和物联网设备中,数据安全传输一直是核心需求。TEA(Tiny Encryption Algorithm)以其轻量级、高效率的特性,成为资源受限环境下的理想选择。本文将深入探讨TEA算法家族的工…...
LVGL 7.11.0 Chart控件实战:5分钟搞定动态心率折线图(附完整代码)
LVGL 7.11.0 Chart控件实战:5分钟搞定动态心率折线图(附完整代码) 在嵌入式设备上实现流畅的数据可视化一直是开发者的痛点。LVGL作为轻量级图形库,其Chart控件能完美解决这一问题。本文将手把手教你用LVGL 7.11.0的Chart控件&am…...
