使用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"
}
原創內容,轉載請聲明