Sublime Text 3配置 C# 开发环境

Sublime Text 3配置 C# 开发环境

  • 一、引言
  • 二、主要内容
    • 1. 初识 Sublime Text 3
    • 2. 初识 C#
    • 3. 接入 .NET Framework
      • 3.1 下载 .NET Framework
      • 3.2 环境变量配置
    • 4. 配置 C# 开发环境
    • 5. 编写 C# 代码
    • 6. 运行 C# 代码
  • 三、总结

在这里插入图片描述

一、引言

C# 是一种面向对象的编程语言,由微软公司开发。它的常用开发工具,相信大家多多少少都有所了解,比如 Visual StudioVisual Studio Code;本篇 Huazie 介绍一个比较轻量级的开发环境 Sublime Text 3,并用它来配置 C# 开发环境。

二、主要内容

1. 初识 Sublime Text 3

Sublime Text 3 是一款流行的文本编辑器,它的特点是体积小巧、启动速度快、界面简洁美观。它具有强大的代码编辑功能,支持多种编程语言。此外,Sublime Text 3 还具有丰富的插件生态系统,用户可以根据自己的需求安装各种插件来扩展其功能。

Sublime Text 3 的一些主要特点,如下所示:

  • 强大的代码编辑功能Sublime Text 3 提供了许多实用的代码编辑功能,如自动完成、代码高亮、代码片段等,大大提高了编程效率。

  • 支持多种编程语言Sublime Text 3 支持多种编程语言,包括 HTML、CSS、JavaScript、Python、Ruby、PHP 等,用户可以根据需要选择不同的语言模式。

  • 插件生态系统Sublime Text 3 拥有丰富的插件生态系统,用户可以通过安装插件来扩展其功能,如 Emmet(用于编写 HTMLCSS)、Package Control(用于安装和管理插件)等。

  • 自定义快捷键Sublime Text 3 允许用户自定义快捷键,以便更快速地执行常用操作。

  • 多窗口编辑Sublime Text 3 支持多窗口编辑,用户可以同时打开多个文件进行编辑,方便进行代码对比和复制粘贴操作。

  • 跨平台支持Sublime Text 3 支持 WindowsMacLinux 操作系统,用户可以在不同的平台上使用相同的设置和插件。

  • 版本控制集成Sublime Text 3 可以与版本控制系统(如 Git)集成,方便用户进行代码版本管理。

2. 初识 C#

C#(发音为 “C-Sharp” )是微软开发的一种面向对象的编程语言,它是 .NET 框架的重要组成部分。

C# 的主要特点包括:

  • 类型安全: C# 是一种强类型的语言,这意味着它会在编译时检查类型错误,而不是在运行时。这有助于提高代码的稳定性和可维护性。
  • 面向对象: C# 支持面向对象编程,包括类、接口、继承、多态等概念。这使得代码更加模块化、可重用和易于维护。
  • 简洁的语法: C# 的语法相对简洁,易于学习和使用。它支持许多现代编程语言的特性,如 LINQ(Language Integrated Query)、异步编程、Lambda 表达式等。
  • 强大的库支持: C# 有强大的标准库和第三方库支持,可以方便地访问数据库、文件系统、网络等资源。
  • 与.NET框架集成: C#.NET 框架的一部分,可以方便地使用 .NET 框架提供的类库和功能。

3. 接入 .NET Framework

.NET Framework 是微软推出的一种开发框架,用于构建多种类型的应用程序,包括传统的Windows 应用程序、基于 Web 的应用程序、移动应用程序和云服务。它提供了一个公共的面向对象的编程环境,支持多种编程语言,如 C#、VB.NET、F# 等。

.NET Framework 具有两个主要组件:公共语言运行库.NET Framework类库

  • 公共语言运行库是 .NET Framework 的基础,类似于 Java 的虚拟机,它负责代码的编译、执行和内存管理。
  • .NET Framework 类库是一个综合性的面向对象的可重用类型集合,提供了丰富的类和方法,用于处理各种任务,如数学计算、字符操作、数据库操作等。

.NET Framework 的目标是实现代码的可移植性、安全性和可执行性。它提供了一个一致的面向对象的编程环境,无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。此外,它还提供了一个将软件部署和版本控制冲突最小化的代码执行环境,以及一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境。

3.1 下载 .NET Framework

可以直达 官网下载 .NET Framework

在这里插入图片描述

实际上 Windows 系统基本上都集成了 .NET Framework ,我们可以从《安装面向开发人员的 .NET Framework》查看不同 Windows 系统适配的版本。

在这里插入图片描述

有关 .NET Framework 的更多内容,请查看 官方文档

3.2 环境变量配置

我们可以到 C:\Windows\Microsoft.NET\Framework64 查看 .NET 的不同版本:

在这里插入图片描述
在这里插入图片描述

上图中的 csc.exe 其实就是本次配置的关键。

知识点: csc.exeC# 的命令行编译器,全称为 CSharpCompiler。它是微软 .NET Framework 中的一个重要组件,用于将 C# 源代码【后缀为 cs 的文件】编译成可执行程序或库文件。

现在,Huaziewindow 11 系统为例,介绍下配置环境变量,如下:

右击 Window 图标,打开下图并选择 系统

在这里插入图片描述

点击 高级系统设置,打开系统属性页面,点击 环境变量

在这里插入图片描述

找到 Path 环境变量,配置上面你的 .NET 框架指定目录配置进去:

在这里插入图片描述

4. 配置 C# 开发环境

初次打开 Sublime Text 3,我们可以看到如下的界面:

在这里插入图片描述

菜单栏选择 Tools => Build System => New Build System

在这里插入图片描述

C# Build System 配置

注意看下面的 shell_cmd 是关键。

{"shell_cmd": "csc /out:\"${file_path}/${file_base_name}.exe\" \"${file}\"","file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$","working_dir": "${file_path}","selector": "source.cs","variants":[{"name": "Build & Run","shell_cmd": "csc /out:\"${file_path}/${file_base_name}.exe\" \"${file}\" && start \"${file_base_name}.exe\" /d \"${file_path}\" \"${file_base_name}.exe\"","working_dir": "${file_path}"},{"name": "Run","shell_cmd": "start \"${file_base_name}.exe\" /d \"${file_path}\" \"${file_base_name}.exe\"","working_dir": "${file_path}"},{"name": "Build (Form)","shell_cmd": "csc /t:winexe /r:System.Windows.Forms.dll;System.Drawing.dll /out:\"${file_path}/${file_base_name}.exe\" \"${file}\"","working_dir": "${file_path}"},{"name": "Build & Run (Form)","shell_cmd": "csc /t:winexe /r:System.Windows.Forms.dll;System.Drawing.dll /out:\"${file_path}/${file_base_name}.exe\" \"${file}\" && start \"${file_base_name}.exe\" /d \"${file_path}\" \"${file_base_name}.exe\"","working_dir": "${file_path}"},{"name": "Run (Form)","shell_cmd": "start \"${file_base_name}.exe\" /d \"${file_path}\" \"${file_base_name}.exe\"","working_dir": "${file_path}"},]
}

上述内容保存在,前面打开的 New Build System 中,并命名为 C#.sublime-build

5. 编写 C# 代码

现在让我们开始编写第一个 C# 代码吧!

using System;
namespace HelloWorldApp
{class HelloWorld{static void Main(string[] args){Console.WriteLine("hello world!");Console.WriteLine("[C#]Author:{0}", "Huazie");Console.ReadKey();}}
}

上述 C# 代码,我们会新建一个 helloworld.cs 文件进行保存。

注意: C# 源码文件名的后缀为 cs

6. 运行 C# 代码

菜单栏 Tools => Build System ,然后 选择 C#,就是前面的 C#.sublime-build

然后直接 Ctrl + B,编译运行当前的程序,运行截图如下所示:

在这里插入图片描述

三、总结

本篇 Huazie 介绍了 Sublime Text 3 配置 C# 的相关内容,感兴趣的朋友赶紧配置起来,有任何问题可以随时评论区沟通。

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

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

相关文章

【华为数据之道学习笔记】6-5数据地图的核心价值

数据供应者与消费者之间往往存在一种矛盾:供应者做了大量的数据治理工作、提供了大量的数据,但数据消费者却仍然不满意,他们始终认为在使用数据之前存在两个重大困难。 1)找数难 企业的数据分散存储在上千个数据库、上百万张物理表…

配置https环境

为什么要配置https环境 在使用 HTML5 的 API 时,很多 API 只能在 https 保证安全的情况下才能开启。这就要求我们在本地开发环境也能够配置 https,否则你需要每次部署到配有 https 的测试环境中才能看到预览效果,这对开发的敏捷度造成了极大…

项目进度管理:常用项目管理工具推荐

工欲善其事必先利其器,借助项目管理工具可以帮助项目经理更好的管理项目,起到事半功倍的效果。 使用项目管理工具来管理项目,有助于事情的快速落地,提升做事效率,也能让事情做的更周到全面 选择项目管理工具时可以参…

通过几个基本概念说一下为什么openGauss是当下之选?

Database、Schema、User都是数据库的基本概念,SQL标准中也有明确规范。但不同数据库的具体实现也不尽相同,有些甚至大相径庭。这就导致用户在做国产化选型和数据库迁移时可能会遇到种种困难。本文从这几个基本概念展开,说说为什么openGauss系…

数据结构之进阶二叉树(二叉搜索树和AVL树、红黑树的实现)超详细解析,附实操图和搜索二叉树的实现过程图

绪论​ “生命有如铁砧,愈被敲打,愈能发出火花。——伽利略”;本章主要是数据结构 二叉树的进阶知识,若之前没学过二叉树建议看看这篇文章一篇掌握二叉树,本章的知识从浅到深的对搜索二叉树的使用进行了介绍和对其底层…

linux 内核的 lru_list 的结构

在linux的slab分配的入口slab_alloc有一个传入参数lru,它的作用是使每个slab对象在unused,但可能后面继续使用的时候,不需要free,可以先放在lru_list上。lru_list的结构为: struct list_lru {struct list_lru_node *n…

DiffUtil + RecyclerView 在 Kotlin中的使用

很惭愧, 做了多年的Android开发还没有使用过DiffUtil这样解放双手的工具。 文章目录 1 DiffUtil 用来解决什么问题?2 DiffUtil 是什么?3 DiffUtil的使用4 参考文章 1 DiffUtil 用来解决什么问题? List发生变化, 我们使用 RecyclerView.Adapter.notifyDataChanged很熟练了 …

WiFi+蓝牙物联网定制方案——五大核心难点

WiFi蓝牙物联网定制方案可以根据具体需求进行定制: 1、设备连接方案:采用WiFi和蓝牙技术,将物联网设备与智能手机、平板电脑等设备进行连接,实现数据传输和远程控制。 2、数据传输方案:通过WiFi和蓝牙技术,…

Vue表格中鼠标移入移出input显示隐藏 ,有输入值不再隐藏

Vue表格中鼠标移入移出input显示隐藏 , 不再隐藏的效果 <el-tableref"table":data"tableDatas"borderstyle"width: 100%":span-method"arraySpanMethod"id"table"row-key"id"cell-mouse-enter"editCell&q…

Laravel框架使用phpstudy本地安装的composer用Laravel 安装器进行安装搭建

一、首先需要安装Laravel 安装器 composer global require laravel/installer 二、安装器安装好后&#xff0c;可以使用如下命令创建项目 laravel new sys 三、本地运行 php artisan serve 四、 使用Composer快速安装Laravel5.8框架 安装指定版本的最新版本&#xff08;推荐&a…

C#合并多个Word文档(微软官方免费openxml接口)

g /// <summary>/// 合并多个word文档&#xff08;合并到第一文件&#xff09;/// </summary>/// <param name"as_word_paths">word文档完整路径</param>/// <param name"breakNewPage">true(默认值)&#xff0c;合并下一个…

Linux:ACL 权限控制

ACL 概述 ACL&#xff08;Access Control List&#xff09;&#xff0c;主要作用可以提供除属主、属组、其他人的 rwx 权限之外的 细节权限设定。 ACL 的权限控制 &#xff08;1&#xff09;使用者&#xff08;user&#xff09; &#xff08;2&#xff09;群组&#xff08;grou…

如何使用 Helm 在 K8s 上集成 Prometheus 和 Grafana|Part 1

本系列将分成三个部分&#xff0c;您将学习如何使用 Helm 在 Kubernetes 上集成 Prometheus 和 Grafana&#xff0c;以及如何在 Grafana 上创建一个简单的控制面板。Prometheus 和 Grafana 是 Kubernetes 最受欢迎的两种开源监控工具。学习如何使用 Helm 集成这两个工具&#x…

类和对象

1 类定义&#xff1a; class ChecksumAccumulator {// class definition goes here } 你就能创建 ChecksumAccumulator 对象&#xff1a;new CheckSumAccumulator 注&#xff1a;1scala类中成员默认是public类型&#xff0c;若设为私有属性则必须加private关键字。在scala中是…

NLP论文阅读记录 - | 使用 BRIO 训练范式进行抽象文本摘要

文章目录 前言0、论文摘要一、Introduction二.相关工作三.本文方法四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果标准抽象模型微调抽象模型微调抽象模型和 BRIO微调抽象模型和 BRIO-Loop 五 总结结论局限 前言 Abstractive Text Summarization Using th…

OpenCV | 告别人工目检:深度学习技术引领工业品缺陷检测新时代

文章目录 机器视觉缺陷检测工业上常见缺陷检测方法内容简介作者简介目录读者对象如何阅读本书获取方式 机器视觉 机器视觉是使用各种工业相机&#xff0c;结合传感器跟电气信号实现替代传统人工&#xff0c;完成对象识别、计数、测量、缺陷检测、引导定位与抓取等任务。其中工…

【项目问题解决】% sql注入问题

目录 【项目问题解决】% sql注入问题 1.问题描述2.问题原因3.解决思路4.解决方案1.前端限制传入特殊字符2.后端拦截特殊字符-正则表达式3.后端拦截特殊字符-拦截器 5.总结6.参考 文章所属专区 项目问题解决 1.问题描述 在处理接口入参的一些sql注入问题&#xff0c;虽然通过M…

flutter开发windows应用的库

一、window_manager 这个插件允许 Flutter 桌面应用调整窗口的大小和位置 地址&#xff1a;https://github.com/leanflutter/window_manager二、win32 一个包&#xff0c;它使用FFI包装了一些最常见的Win32 API调用&#xff0c;使Dart代码可以访问这些调用&#xff0c;而不需…

node.js mongoose index(索引)

目录 简介 索引类型 单索引 复合索引 文本索引 简介 在 Mongoose 中&#xff0c;索引&#xff08;Index&#xff09;是一种用于提高查询性能的数据结构&#xff0c;它可以加速对数据库中文档的检索操作 索引类型 单索引、复合索引、文本索引、多键索引、哈希索引、地理…

useConsole的封装,vue,react,htmlscript标签,通用

之前用了接近hack的方式实现了console的封装&#xff0c;目标是获取console.log函数的执行&#xff08;调用栈所在位置&#xff09;所在的代码行数。 例如以下代码&#xff0c;执行window.mylog(1)时候&#xff0c;console.log实际是在匿名的箭头函数()>{//这里执行的} con…