因为 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非官方文档(中文翻译版)


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

dotnet core 添加 SublimeText 编译插件的更多相关文章

  1. 为Eclipse添加反编译插件,更好的调试

    为Eclipse添加反编译插件,更好的调试 一般来说,我们的项目或多或少的都会引用一些外部jar包,如果可以查看jar包的源代码,对于我们的调试可以说是事半功倍. 1.下载并安装jad.exe.将ja ...

  2. Maven 添加jdk编译插件

    问题描述: 默认情况下,eclipse的maven项目使用jdk1.5编译,而我们的jdk为1.8每次更改jdk1.5之后,只要maven项目已更新,eclipse就会自动的回到jdk1.8结局方法: ...

  3. myeclipse 添加反编译插件

    文件下载地址: 链接: https://pan.baidu.com/s/1th2goaA2aS45kO84dX1Bdg 密码: g1fu 先关闭myeclipse1.下载jad1.5.8g 下载后解压 ...

  4. Eclipse下配置tomcat且使用eclipse开启debug模式,集成JAD反编译插件

    Eclipse运行Tomcat的2种方式 eclipse启动Tomcat服务输入http://localhost:8080/报404解决方法 Eclipse 中Tomcat 启动 与直接启动Tomca ...

  5. dotnet core 2.1 使用阶梯编译

    在 dotnet core 2.1 可以使用阶梯编译的方法,从 dotnet framework 开始,在代码的所有方法在第一次进入的时候就需要使用 JIT 进行编译为本机的代码.可以看到代码是在第一 ...

  6. dotnet core 使用 CoreRT 将程序编译为 Native 程序

    现在微软有一个开源项目 CoreRT 能通过将托管的 .NET Core 编译为单个无依赖的 Native 程序 这个项目现在还没发布,但是能尝试使用,可以带来很多的性能提升 使用 CoreRT 发布 ...

  7. 转: MyEclipse 10.0,9.0,8.0 下添加jadClipse反编译插件

    MyEclipse 10.0,9.0,8.0 下添加jadClipse反编译插件 (2012-11-19 15:36:35) 转载▼ 标签: myeclipse jad 反编译 插件 it 分类: M ...

  8. dotnet core如何编译exe

    dotnet core 有一个转变,他用dll格式来代替exe作为通用执行格式,然后要命令行dotnet yourApp.dll 来运行程序.为了提高逼格,双击可以运行,可以采用以下方案: 方案一 用 ...

  9. dotnet core 跨平台编译发布

    vs2017 建立的项目,在项目目录 ,执行 dotnet publish -r ubuntu.15.04-x64 dotnet publish -r linux-x64 dotnet publish ...

随机推荐

  1. UI标签库专题五:JEECG智能开发平台 Tabs(选项卡父标签)

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/28956223 tools string ...

  2. 前端如何实现图片懒加载(lazyload) 提高用户体验

    定义 图片懒加载又称图片延时加载.惰性加载,即在用户需要使用图片的时候加载,这样可以减少请求,节省带宽,提高页面加载速度,相对的,也能减少服务器压力. 惰性加载是程序人性化的一种体现,提高用户体验,防 ...

  3. babel 7.x 结合 webpack 4.x 配置

    今天在学习webpack的使用的时候,由于学习的教程是2018年初的,使用的是 webpack 3.x 和 babel 6.x ,然后学习的过程中出现的了很多问题. 解决问题之后,总结一下新的 bab ...

  4. 一条SQL完成跨数据库实例Join查询

    背景 随着业务复杂程度的提高.数据规模的增长,越来越多的公司选择对其在线业务数据库进行垂直或水平拆分,甚至选择不同的数据库类型以满足其业务需求.原本在同一数据库实例里就能实现的SQL查询,现在需要跨多 ...

  5. WPF TextBox提示文字设定

    WPF TextBox框提示文字,鼠标划入提示文字消失 <TextBox Width=" VerticalContentAlignment="Center" Bor ...

  6. ArcGIS 发布高程服务。10.4

    ArcGIS 发布高程必须是10.21以上,我用10.4. 前端用ArcGIS For API 4.x. ARCGIS很早之前有CS版本的ArcScene,可查看高程TIF文件,但机制和BS的完全不同 ...

  7. windows7蓝屏0x000000c4

    故障还原: 360更新弹出更新提示,于是选择了关机自动更新,第二天开机发现电脑蓝屏报0x000000c4错误! 故障排查: 1.无法从最后一次正确配置启动windows7 2.无法进入安全模式 该错误 ...

  8. python isinstance和issubclass,区分方法和函数,反射

    一.isinstance和issubclass 1.isinstance class Animal: def eat(self): print('刚睡醒吃点儿东西') class Cat(Animal ...

  9. C++大体概况 标签: c++总结 2015-01-31 20:41 792人阅读 评论(15) 收藏

    今年又一次报名了二级的C++考试,现在再来把C++总结一下,也不能算是总结,大体提炼了一下需要注意的地方,考试之前打算把这些东西好好看一看,今年一定要过啊! 前两天才知道,unix是用C语言编写的,这 ...

  10. qt painter多个点的曲线

    plot.h #ifndef PLOT_H #define PLOT_H #include<QTimer> #include <QWidget> class pathplot ...