当前位置:网站首页>dotnet core 添加 SublimeText 编译插件
dotnet core 添加 SublimeText 编译插件
2022-08-04 15:37:00 【林德熙】
因为 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 显示一样
现在有了需要编译的文件的路径,就请发挥想想开发自己的编译插件
边栏推荐
- C端折戟,转战B端,联想的元宇宙梦能成吗?
- Projector reached the party benefits 】 【 beginners entry - brightness projection and curtain selection - from entry to the master
- 【Gopher 学个函数】边学边练,简单为 Go 上个分
- 李沐的深度学习笔记来了!
- 如何防止重复下单?
- QT笔记——QUuid了解
- Tinymce plugins [Tinymce 扩展插件集合]
- How to monitor code cyclomatic complexity by refactoring indicators
- What is an artifact library in a DevOps platform?What's the use?
- 快速整明白Redis中的字典到底是个啥
猜你喜欢
【已解决】allure无法生成json文件和AttributeError: module ‘allure‘ has no attribute ‘severity_level‘
JVM Tuning-GC Fundamentals and Tuning Key Analysis
如何优雅的消除系统重复代码?
一文解答DevOps平台的制品库是什么
推荐一个鸿蒙即时通讯软件《果聊》
基于 Next.js实现在线Excel
【北亚数据恢复】IBM System Storage存储lvm信息丢失,卷访问不了的数据恢复方案
快速整明白Redis中的字典到底是个啥
Taurus.MVC WebAPI 入门开发教程2:添加控制器输出Hello World。
实战:10 种实现延迟任务的方法,附代码!
随机推荐
24、shell编程-流程控制
长期更新的一些 pytorch 知识点总结
软件性能测试包括哪些内容?国内权威软件检测机构排名
皕杰报表配置文件report_config.xml里都配置了什么?
Game network UDP + FEC + KCP
#夏日挑战赛# HarmonyOS 实现一个滑块验证
The electromagnetic compatibility EMC protection study notes
IP第十六天笔记
小程序|炎炎夏日、清爽一夏、头像大换装
How to monitor code cyclomatic complexity by refactoring indicators
What is an artifact library in a DevOps platform?What's the use?
爬虫小白笔记(昨天的对于注意解析数据的补充)
使用百度EasyDL实现森林火灾预警识别
【已解决】allure无法生成json文件和AttributeError: module ‘allure‘ has no attribute ‘severity_level‘
Next -19- 开启fancybox查看图片大图
Resharper 如何把类里的类移动到其他文件
IP第十八天笔记
Jupyter常用操作总结(强烈建议收藏,持续更新实用操作)
NUS颜水成等发布首篇《深度长尾学习》综述
实战:10 种实现延迟任务的方法,附代码!