使用Sublime作为开发工具
Sublime Text 3 一直是笔者喜欢用的轻量级开发工具。作为一个编辑器,它轻量便捷,功能丰富,颜值还颇高。
其实 Sublime Text 3 还可以作为方便快捷的IDE,在里面直接运行程序(使用Ctrl+B快捷键更快哦)。在进行轻量级开发和测试时很方便。
但是,想要用它来做开发,需要一点配置的过程。Sublime Text 3 运行程序,实质上是调用系统命令,并将终端显示结果抓取回软件内部显示。
在Ubuntu下配置C#开发环境
首先必须要安装好Sublime Text 3 和 C# 的运行环境 .NET / .NET Core。
1. Sublime Text 3 的安装方法
到官方网站上http://www.sublimetext.com/3下载.deb安装包,运行安装即可。
或者使用命令sudo apt-get install sublime-text
2. C#运行环境的安装
这里装的是 .NET Core。可以安装你需要的版本。
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
sudo apt-get update
sudo apt-get install dotnet-dev-1.0.0-preview4-004233
可以使用dotnet new
dotnet restore
dotnet run
运行Hello,world程序就算成功。
3. 创建bash脚本
在一个比较稳定的位置创建一个脚本文件,用来完成项目创建和编译运行工作。这里笔者在 /home/×××/.config/sublime-text-3/Packages/User 路径创建了一个 dotnet.bash 文件。文件的内容为:
#!/bin/bash
if [ ! -f project.json ] ;then
mv "$*" tempFile
dotnet new
rm Program.cs
mv tempFile "$*"
dotnet restore
dotnet run
elif [ ! -f project.lock.json ] ;then
dotnet restore
dotnet run
else
dotnet run
fi
注意,在最新的dotnet-dev-1.0.3中,由于编译时文件结构发生变化,需要修改为下面的代码:
#!/bin/bash
path=$(pwd)
dir=${path##*/}
pname="$dir.csproj"
if [ ! -f $pname ] ;then
dotnet new console
rm Program.cs
dotnet restore
dotnet run
else
dotnet restore
dotnet run
fi
4. 新建 Build System
打开sublime,Tools - Build System - New Build System … ,新建一个sublime-build文件。
内容为(注意bash文件路径改成你的!):
{
"shell_cmd": "cp /home/×××/.config/sublime-text-3/Packages/User/dotnet.bash dotnet.bash && chmod +x ./dotnet.bash && ./dotnet.bash $file && rm dotnet.bash",
"selector": "source.cs",
"encoding": "utf-8"
}
保存为csharp.sublime-build就可以了。
5.测试
如无意外,这时在任何空文件夹新建一个hello.cs文件,写上:
using System;
namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
Ctrl+B运行,打印一段编译信息后,Hello World!
其他语言
像 Python 和 Nodejs 这种一行命令即运行的语言,只需要相应得改一下sublime-build即可,比如:
{
"shell_cmd": "nodejs $file",
"selector": "source.js"
}
原创内容,转载请声明