title author date CreateTime categories
dotnet core 添加 SublimeText 编译插件
lindexi
2018-08-29 08:53:47 +0800
2018-08-12 10:52:54 +0800
dotnetcore 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非官方文档(中文翻译版)

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

  1. dotnet core 添加 SublimeText 编译插件

    因为 SublimeText 有很多插件都是使用 Py 写的,而我想使用 dotnet core 给 SublimeText 写一个编译插件,也就是在我使用 Markdown 的时候可以点击编译,将 ...

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

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

  3. Maven 添加jdk编译插件

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

  4. myeclipse 添加反编译插件

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

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

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

  6. dotnet core 2.1 使用阶梯编译

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

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

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

  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 ...

  10. [C#]使用 C# 代码实现拓扑排序 dotNet Core WEB程序使用 Nginx反向代理 C#里面获得应用程序的当前路径 关于Nginx设置端口号,在Asp.net 获取不到的,解决办法 .Net程序员 初学Ubuntu ,配置Nignix 夜深了,写了个JQuery的省市区三级级联效果

    [C#]使用 C# 代码实现拓扑排序   目录 0.参考资料 1.介绍 2.原理 3.实现 4.深度优先搜索实现 回到顶部 0.参考资料 尊重他人的劳动成果,贴上参考的资料地址,本文仅作学习记录之用. ...

随机推荐

  1. 记录-使用双token实现无感刷新,前后端详细代码

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 近期写的一个项目使用双token实现无感刷新.最后做了一些总结,本文详细介绍了实现流程,前后端详细代码.前端使用了Vue3+Vite ...

  2. 微信小程序中rich-text文本溢出(三个...)

    小程序中当rich-text中数据较多时就会出现溢出的现象 如下 此时的页面效果并不是很理想 我们可以在数据中给个div <div style="overflow: hidden;wh ...

  3. java使用ftp连接linux处理文件

    1.Maven依赖 <!-- FTP使用包 --> <dependency> <groupId>commons-net</groupId> <ar ...

  4. KingbaseES V8R3 集群运维系列 -- failover切换后集群自动恢复

    ​ 案例说明: KingbaseES V8R3集群默认在触发failover切换后,为保证数据安全,原主库需要通过人工介入后,恢复为新的备库加入到集群.在无人值守的现场环境,需要在触发failover ...

  5. 表的唯一约束的作用 KingbaseES VS Oracle

    背景 演示唯一约束怎样创建.删除.禁用和使用唯一性约束,已经多种数据库的差异. 什么是唯一约束 唯一性约束指表中一个字段或者多个字段联合起来可以唯一标识一条记录的约束, 字段中,可以包括空值. 唯一性 ...

  6. 如何安装和使用Docker

    本文深入解析Docker,一种革命性的容器化技术,从其基本概念.架构和组件,到安装.配置和基本命令操作.文章探讨了Docker在虚拟化.一致性环境搭建及微服务架构中的关键作用,以及其在云计算领域的深远 ...

  7. #最大密度子图,0/1分数规划#UVA1389 Hard Life

    题目 \(n\) 个点,\(m\) 条边的一个无向图,问导出子图的边数除以点数的最大值 分析 考虑二分这个答案,也就是0/1分数规划之后转换成 \(E-mid*V>0\) 这个问题虽然可以精确到 ...

  8. #线段树,排列组合#洛谷 6108 [Ynoi2009] rprsvq

    题目链接 分析 维护区间和以及区间平方和都比较简单,考虑答案是什么,根据方差公式的变形. \[ans=\frac{\sum_{j=1}^na_j^2}{n}-\frac{(\sum_{j=1}^na_ ...

  9. #背包#nssl 1488 上升子序列

    题目 给一个长度为\(n\)的数组\(a\).试将其划分为两个严格上升子序列,并使其长度差最小. 分析 当\(max([1,i])<min([i+1,n])\)时显然两个区间互不影响,把\(i\ ...

  10. RabbitMQ 05 直连模式-Spring Boot操作

    Spring Boot集成RabbitMQ是现在主流的操作RabbitMQ的方式. 官方文档:https://docs.spring.io/spring-amqp/docs/current/refer ...