dotnet core 添加 SublimeText 編譯插件

因爲 SublimeText 有很多插件都是使用 Py 寫的,而我想使用 dotnet core 給 SublimeText 寫一個編譯插件,也就是在我使用 Markdown 的時候可以點擊編譯,將 Markdown 轉 doc 或者做其他的。

在 SublimeText 有一個功能就是使用 Tools 的 Build System 添加新的 Build 通過點擊new Build System 就可以新建一個用 sublime-build 結束的文件

將會這個文件保存到 SublimeText 所在的文件夾,在C:\Users\用戶名\AppData\Roaming\Sublime Text 3\Packages\User 就可以添加編譯

先來創建一個 dotnet core 項目,這個項目先給一個隨意的名字

這個項目只是用來輸出拿到的參數

        static void Main(string[] args)
        {
            var str = new StringBuilder();
            foreach (var temp in args)
            {
                str.Append(temp + "\r\n");

                Console.WriteLine(temp);
            }

            File.WriteAllText(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "KeameaMouhalis"), str.ToString());
        }

代碼很簡單,上面用Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)因爲想寫文件到運行的文件夾

例如這個項目編譯出的路徑是 D:\lindexi\github\PisairtekaDrallhairlo\PisairtekaDrallhairlo\bin\Debug\netcoreapp2.0\PisairtekaDrallhairlo.dll 在剛纔打開的 sublime-build 可以添加下面代碼

{
	"file_patterns":["*.md"],
	"cmd": ["dotnet" , "D:\\lindexi\\github\\PisairtekaDrallhairlo\\PisairtekaDrallhairlo\\bin\\Debug\\netcoreapp2.0\\PisairtekaDrallhairlo.dll","$file"]
}

這裏的 file_patterns 就是表示在什麼的文件可以使用這個編譯,第二個就是調用 cmd 運行命令

可以傳入的參數很多,這裏的 $file 表示當前進行編譯文件,可以選的參數請看下面

  • $file_path 當前文件所在路徑,比如 C:\Files
  • $file 當前文件的完整路徑,比如 C:\Files\Chapter1.txt
  • $file_name 當前文件的文件名,比如 Chapter1.txt
  • $file_extension 當前文件的擴展名,比如 txt
  • $file_base_name 當前文件僅包含文件名的部分,比如 Document
  • $packages Packages 文件夾的完整路徑
  • $project 當前項目文件的完整路徑
  • $project_path 當前項目文件的路徑
  • $project_name 當前項目文件的名稱
  • $project_extension 當前項目文件的擴展部分
  • $project_base_name 當前項目僅包括名的部分

現在將 sublime-build 文件存放到 SublimeText 所在的文件夾,注意給一個名字,然後就可以在 Build 裏看到,現在選擇 Build System 的對應的方式進行編譯,點擊 Build 就可以看到輸出編譯

在剛纔的項目寫文件是因爲在 SublimeText 的控制檯看到的是如下界面

對於所有的中文都沒有顯示,所以寫入文件就可以從文件裏看,可以看到傳入的文件是不會和 SublieText 顯示一樣

現在有了需要編譯的文件的路徑,就請發揮想想開發自己的編譯插件

參見:Build Systems – Sublime Text 3 Documentation

如何優雅地使用Sublime Text3 - 簡書

Build Systems — Sublime Text非官方文檔(中文翻譯版)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章