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
Build Systems — Sublime Text非官方文档(中文翻译版)
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
dotnet core 添加 SublimeText 编译插件的更多相关文章
- 为Eclipse添加反编译插件,更好的调试
为Eclipse添加反编译插件,更好的调试 一般来说,我们的项目或多或少的都会引用一些外部jar包,如果可以查看jar包的源代码,对于我们的调试可以说是事半功倍. 1.下载并安装jad.exe.将ja ...
- Maven 添加jdk编译插件
问题描述: 默认情况下,eclipse的maven项目使用jdk1.5编译,而我们的jdk为1.8每次更改jdk1.5之后,只要maven项目已更新,eclipse就会自动的回到jdk1.8结局方法: ...
- myeclipse 添加反编译插件
文件下载地址: 链接: https://pan.baidu.com/s/1th2goaA2aS45kO84dX1Bdg 密码: g1fu 先关闭myeclipse1.下载jad1.5.8g 下载后解压 ...
- Eclipse下配置tomcat且使用eclipse开启debug模式,集成JAD反编译插件
Eclipse运行Tomcat的2种方式 eclipse启动Tomcat服务输入http://localhost:8080/报404解决方法 Eclipse 中Tomcat 启动 与直接启动Tomca ...
- dotnet core 2.1 使用阶梯编译
在 dotnet core 2.1 可以使用阶梯编译的方法,从 dotnet framework 开始,在代码的所有方法在第一次进入的时候就需要使用 JIT 进行编译为本机的代码.可以看到代码是在第一 ...
- dotnet core 使用 CoreRT 将程序编译为 Native 程序
现在微软有一个开源项目 CoreRT 能通过将托管的 .NET Core 编译为单个无依赖的 Native 程序 这个项目现在还没发布,但是能尝试使用,可以带来很多的性能提升 使用 CoreRT 发布 ...
- 转: 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 ...
- dotnet core如何编译exe
dotnet core 有一个转变,他用dll格式来代替exe作为通用执行格式,然后要命令行dotnet yourApp.dll 来运行程序.为了提高逼格,双击可以运行,可以采用以下方案: 方案一 用 ...
- dotnet core 跨平台编译发布
vs2017 建立的项目,在项目目录 ,执行 dotnet publish -r ubuntu.15.04-x64 dotnet publish -r linux-x64 dotnet publish ...
随机推荐
- day38 14-Spring的Bean的属性的注入:集合属性的注入
集合:List.Set.Map. package cn.itcast.spring3.demo6; import java.util.List; import java.util.Map; impor ...
- LintCode_420 报数
题目 报数指的是,按照其中的整数的顺序进行报数,然后得到下一个数.如下所示: 1, 11, 21, 1211, 111221, ... 1 读作 "one 1" -> 11. ...
- day39-Spring 04-CGLIB的动态代理
JDK动态代理是有接口我给你创建一个类和你这个实现类是一样的, CGLIB不对实现接口的类生成代理,一个普通类也可以生成代理.CGLIB用继承的方式帮你生成代理对象.你父类有的方法我也有了,我想增强也 ...
- docker出现如下错误:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
在docker中配置deepo时出现了错误: 在出现这个错误之前,我是先用如下命令查看NVIDIA-docker是否安装成功. docker run --runtime=nvidia --rm nvi ...
- 微服务开源生态报告 No.5
「微服务开源生态报告」,汇集各个开源项目近期的社区动态,帮助开发者们更高效的了解到各开源项目的最新进展. 社区动态包括,但不限于:版本发布.人员动态.项目动态和规划.培训和活动. 非常欢迎国内其他微服 ...
- Spark in action on Kubernetes - Spark Operator的原理解析
前言 在上篇文章中,向大家介绍了如何使用Spark Operator在kubernetes集群上面提交一个计算作业.今天我们会继续使用上篇文章中搭建的Playground进行调试与解析,帮助大家更深入 ...
- JavaScript--兼容问题总结
以下兼容主要面向IE8以上的兼容. 一.window.navigator浏览器信息 <script> console.log(window.navigator); // 用户浏览器的类型 ...
- 从程序员的角度分析微信小程序
昨天朋友圈被微信小程序刷爆了. 我赶快在书架上拿出三年前买的书,把上面的土擦干净,压压惊. 作为一个并不是资深的程序员. 从程序员的角度分析一下微信小程序,欢迎指点. 首先吐槽 微信小程序只发了200 ...
- json,pickle模块
序列化 把对象从内存中编成可储存或传输的过程称之为序列化,输出为json串,.json文件 反序列化 把json串反编成Python数据类型 json模块 用于跨平台交互 json模块下不可转换集合( ...
- Kubernetes排错:用容器的元数据提供新思路
在这篇文章中,让我们讨论一下Kubernetes中的元数据(Metadata),以及如何利用它来监控系统的性能. 元数据(Metadata) 是一个较为高大上的词.它的含义是"用来描述其他数 ...