如何在 Sublime Text 3 中设置语法的默认文件扩展名?

2024-06-26

我不是在询问将语法与文件扩展名相关联,而是在询问将文件扩展名与语法相关联。也就是说,在创建新文件后设置保存文件对话框中建议的文件扩展名,然后设置语法,然后单击“保存”。

您可以在保存对话框中更改扩展名,但最好不要每次都这样做。


用于保存纯文本文件.txt默认情况下扩展,您可以使用一个小插件来实现此目的:

import sublime
import sublime_plugin


class DefaultPlainTextExtensionEventListener(sublime_plugin.EventListener):
    def update_default_extension(self, view, syntax):
        if syntax == 'Packages/Text/Plain text.tmLanguage':
            view.settings().set('default_extension', 'txt')
        elif view.settings().get('default_extension', None) == 'txt':
                view.settings().erase('default_extension')
    
    def on_new_async(self, view):
        self.update_default_extension(view, view.settings().get('syntax'))

    def on_post_text_command(self, view, command_name, args):
        if command_name == 'set_file_type':
            self.update_default_extension(view, args['syntax'])
        elif command_name in ('paste', 'paste_and_indent'):
            self.update_default_extension(view, view.settings().get('syntax'))

请注意,我们不能使用on_pre_save事件,因为在触发该事件时文件对话框已经向用户显示,并且文件名已选择。

这个想法是,当创建新选项卡或语法更改为纯文本时,它将设置default_extension设置为txt。如果语法更改为其他内容,它将删除default_extension.


要更改语法的默认文件扩展名,需要更改.sublime-syntax文件至重新排序文件扩展名集 https://github.com/sublimehq/Packages/pull/652,以便默认值位于列表中的第一个。 (使用default_extension前面提到过不可靠 https://github.com/SublimeTextIssues/Core/issues/1527.)

因此,对于 Markdown,您可以执行以下操作来更改默认值.mdown to .md:

  1. Install 包资源查看器 https://packagecontrol.io/packages/PackageResourceViewer如果尚未安装

  2. 打开命令面板

  3. Type PRV: O

  4. Select PackageResourceViewer: Open Resource

  5. Select Markdown

  6. Select Markdown.sublime-syntax

  7. 找到它说的地方:

    file_extensions:
      - mdown
      - markdown
      - markdn
      - md
    
  8. 改变它,以便md位于顶部:

    file_extensions:
      - md
      - mdown
      - markdown
      - markdn
    
  9. 保存文件

然后,当您创建新选项卡时,将语法设置为 Markdown 并保存,它将默认为.md文件扩展名。

请注意,如果您认为更改默认值也能让其他人受益并且希望查看存储库维护者的反应,您可以尝试在相关 GitHub 存储库中创建问题/PR。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Sublime Text 3 中设置语法的默认文件扩展名? 的相关文章

  • 为 Sublime Text 2 的嵌入式 Python 解释器安装 IPython

    我正在尝试在 sublime 中安装 IpythonIntegration 包 我安装在 bash shell 中 最新的 ipython pyzmq pyside 然而 崇高控制台仍然给我一个错误 Reloading plugin hom
  • 如何在 Sublime Text Markdown 预览中启用 MathJax 渲染

    我正在使用 Sublime Text 3 编写一个包含数学的 Markdown 文档 Markdown Preview 包可以在浏览器 Chrome 中实时渲染文档 所以当我写这篇文章时 变化是显而易见的 以下是我的 Markdown 文本
  • 识别 PHP 未使用和未定义的变量 sublime

    我正在使用 sublimetext3 未注册 我想知道如何配置 sublime 以显示 php 中未使用和未定义的变量 sublimelinter phplint 做了一些有用的工作 但它无法识别自动加载的类 这在开发时可能非常烦人 我正在
  • sublimegdb 无法停在断点处

    我在 sublime text 2 中安装了 sublimeGDB 并且我的设置是正确的 然后我在一行中按 F9 设置断点 当我按F5运行时 我发现我的程序无法停在断点处 并且程序运行完毕 下面显示的信息是 GDB session结束 GD
  • 在 Sublime Text 3 中,我可以将 do 文件的选择发送到 Stata 吗?

    This SO question https stackoverflow com questions 18361667 is there a command line editor that highlights the stata syn
  • 如何设置 Sublime Text 在设置一次后自动检测文件类型?

    例如 我有一个 zsh 文件 我希望始终在 sublime 中将其作为 Shell 脚本 bash 文件类型打开 目前 即使我更改并重新打开它 它也默认恢复为文本文件格式 查看窗口的右下角 单击文件类型名称 我们假设它是 Shell 脚本
  • 如何获取网页上的超链接以在文本编辑器中打开文件(Sublime Text)

    我正在开发一个大型静态网站 Jekyll 并且希望能够单击浏览器 Chrome 中页面上的链接 这将在本地计算机 Sublime 上打开其相应的源文件 我可以获得文件的绝对链接 从控制台 Ubuntu 我可以这样做 subl path to
  • 如何编辑 Sublime Text 构建设置?

    我想启用 std gnu 11Sublime Text 3 的 C 单文件构建于 Ubuntu 12 04 上 我已经将工具链升级到最新的 g 并且不希望在每次构建时看到以下错误 错误 error 此文件需要编译器和库支持 ISO C 20
  • 自定义布局,Sublime text 2

    到目前为止 我一直在使用 2 列系统 但感觉我需要第三个 而在屏幕上分布的 3 列系统如果不每次都调整宽度 就无法提供太多视图 It s there a way to get the grid layout but have the bot
  • React Native初学者index.android.js没有显示

    没有代码 我正在创建一个项目 但缺少一些文件 使用命令react native init helloworld项目已创建 但是index android js and index ios js没有生成或丢失 只是index js正在出现 这
  • 如何更改 Sublime Text 3 中缩进指南选项的颜色?

    如何更改缩进引导线颜色 您需要编辑您正在使用的配色方案的配色方案文件 并找到
  • CTRL + 单击 Sublime Text 2 中的绑定

    我多年来使用 IDE 的一个长期习惯是 CTRL 或命令 单击选择一个完整的单词 这相当于双击当前 ST2 中的单词 我希望能够在ST2中恢复这个能力 我会用按键绑定还是插件来解决这个问题 如果您创建一个sublime text 2 Pac
  • Sublime Text 2:如何让scss和Less文件有颜色?

    我正在使用 Sublime Text 2 和css scss and css less文件都是白色文本 注释 括号 语法 一切 如果我看看我的常规css文件 它们有颜色来区分上述所有内容 还有其他人处理过这个吗 这是我遇到的错误吗 我如何添
  • Sublime Text 中的非捕获组正则表达式不起作用

    I m trying to remove all lingering spaces between tags So I try to select them with a regex span span 我的正则表达式是 gt lt 我试图
  • 运行 Sublime Text 3 插件时保存编辑

    为了理解我想要实现的目标 在另一个视图中打印延迟文本 我正在尝试使这个 sublime text 3 插件正常运行我想使用运行方法参数中传递的编辑来调用我的类的多个方法 如下所示 sample code nothing real class
  • SublimeREPL 无法找到 R

    好吧 这让我发疯 我之前已经设置过 删除了 Sublime Text 现在我不记得正确的配置是什么 非常简单 我通过 SublimeREPL 运行 R 并且需要将 REPL 指向安装 R 的位置 我按照以下指示进行操作http sublim
  • 如何在 Sublime Text 3 中设置语法的默认文件扩展名?

    我不是在询问将语法与文件扩展名相关联 而是在询问将文件扩展名与语法相关联 也就是说 在创建新文件后设置保存文件对话框中建议的文件扩展名 然后设置语法 然后单击 保存 您可以在保存对话框中更改扩展名 但最好不要每次都这样做 用于保存纯文本文件
  • ( 后的正则表达式匹配数

    我正在尝试使用正则表达式来匹配开括号 字符后的可变长度的数字 我努力了 d 但该正则表达式在匹配中包含括号 我该如何排除它 我正在使用 Sublime Text 正则表达式引擎来进行匹配 您可以使用积极的后视 http www regula
  • 如何在 Sublime 2 REPL Mac 中运行 Python 3

    我的问题如下 我安装了 sublime 2 和 sublime repl 插件 一切正常 我唯一需要的是更改在控制台内置的 sublimerepl 上运行的 python 版本 我的意思是 我有 python 2 7 5 预先安装了 mav
  • Sublime Text 3 中错误的默认语法高亮

    我不记得接触过任何相关配置 并且 Sublime 无缘无故地选择 LaTeX Log 突出显示语法作为 html 文件的默认语法 我打开了语法特定设置文件 它是空的 我该怎么做才能自动正确突出显示 html 文件 在 Sublime 中更改

随机推荐

  • 为什么这个 MySQL 更新不起作用?

    有一张桌子叫meterreadings 我需要复制属性meterreading从一排到另一排 这是数据示例 id meterreadingdate meterreading meterreadingtype id created 1 201
  • 子类化 NSSlider:需要解决丢失鼠标向上事件的问题(Cocoa OSX)

    我正在尝试对 NSSlider 进行子类化以创建一个称为滚轮的控件 基本上我需要的是一个滑块 它总是从中间开始 当它移动到左侧或右侧时 它会经常发送通知 由可以设置的属性确定 通知其容器其当前值 然后当您放开旋钮 它会回到中间 我希望实现将
  • 如何在 shell 中解码 URL 编码的字符串?

    我有一个文件 其中包含已编码的用户代理列表 例如 Mozilla 2F5 0 20 28Macintosh 3B 20U 3B 20Intel 20Mac 20OS 20X 2010 6 3B 20en 我想要一个 shell 脚本 它可以
  • admob 连接被拒绝

    我刚刚开始将 admob 添加到我的 Android 应用程序中 并开始使用 admob 网站上提供的横幅必需品示例 这是示例代码 public class BannerEssentials extends Activity Overrid
  • Azure DevOps管道“查看更改”显示错误的更改数量

    有人在构建中遇到过 查看xxx更改 中的数字错误这样的问题吗 我不知道为什么 但它不仅显示构建之间的提交 还显示其他所有内容 例如 我在发布之间进行了两次提交 但它显示了 300 多个更改 我的 git 显示如下 我希望 查看更改 仅显示
  • 如何在迭代时从地图中删除?

    迭代时如何从地图中删除 喜欢 std map
  • ROUTINE_NAME 和 SPECIFIC_NAME 之间有什么区别?

    在 INFORMATION SCHEMA ROUTINES 视图中 存在 ROUTINE NAME 和 SPECIFIC NAME 按照MSDN http msdn microsoft com en us library ms188757
  • WSO2 ESB - 代理参数的动态值(传输)

    我需要能够为代理参数指定动态值 实际上 我必须使用完整的 URL 指定每个参数 例如
  • 实现多个接口的 Service Fabric Actor 接口

    我正在构建一个应用程序 其中有多个不同的参与者类型 这些参与者类型对于某些不同的数据对象具有相同类型的行为 CRUD 为了更轻松地创建处理此问题的代码 我尝试创建一个这些参与者可以实现的接口 这意味着我有一个看起来像这样的参与者界面 pub
  • PostgreSQL、Npgsql 返回 42601:“$1”处或附近的语法错误

    我正在尝试使用 Npgsql 和 或 Dapper 来查询表 但我不断遇到Npgsql PostgresException 42601 syntax error at or near 1 这是我用 NpgsqlCommand 尝试的结果 u
  • 提交ajax表单并停留在同一页面不起作用

    我想将用户的评论存储在我的数据库中 当用户提交时 我不想将他们重定向到新页面 我有以下代码 但它不起作用 我的 HTML 代码
  • 从 blob 反序列化 java 对象

    首先 我很抱歉 我要问一些愚蠢的问题 我根本不懂java 也不知道我们是否可以问这样的问题 如果没有 删除我的主题 oracle中有一个存储blob的表 它是二进制的 我能够解码它 输出看起来像这样 sr com epam insure c
  • 我必须实现 Applicative 和 Functor 来实现 Monad

    我正在尝试实现一个 Monad 实例 作为一个更简单的示例 假设如下 data Maybee a Notheeng Juust a instance Monad Maybee where return x Juust x Notheeng
  • 如何在 C 中将 int 和数组保存在共享内存中?

    我正在尝试编写一个程序 让子进程在 Linux 上相互通信 这些进程都是从同一个程序创建的 因此它们共享代码 我需要它们能够访问两个整数变量以及一个整数数组 我不知道共享内存是如何工作的 我搜索过的每一个资源除了让我困惑之外什么也没做 任何
  • Spark中DataFrame、Dataset、RDD的区别

    我只是想知道有什么区别RDD and DataFrame Spark 2 0 0 DataFrame 只是一个类型别名Dataset Row 在阿帕奇火花 你能将其中一种转换为另一种吗 首先是DataFrame是从SchemaRDD 是的
  • java 未知深度的嵌套哈希图

    我有一个要求 我需要有一个嵌套的哈希图 但深度将在运行时决定 例如 如果在运行时 用户说 3 那么我的哈希图应该是这样的 HashMap
  • 在无形状中,有两个列表,其中一个包含另一个的类型类

    在无形中 我正在尝试编写一个需要两个 HList 的函数l1 and l2任意长度 具有以下属性 的长度l1 and l2是相同的 l2包含的确切类型l1 包装在常量外部类型构造函数中 So if l1 was 1 1 2 hello HN
  • 对数据绑定组合框进行排序的最佳方法是什么?

    我对此做了一些研究 似乎对数据绑定组合框进行排序的唯一方法是对数据源本身进行排序 在本例中为数据集中的数据表 如果是这种情况 那么问题就变成对数据表进行排序的最佳方法是什么 组合框绑定在设计器中设置初始化使用 myCombo DataSou
  • Python:如何即时生成代码?

    我遇到了一个问题 我必须动态生成程序然后执行它 我们怎样才能做到这一点 您可以使用 eval 函数从字符串执行代码 一个例子是 import math test r dir math eval test Output doc name pa
  • 如何在 Sublime Text 3 中设置语法的默认文件扩展名?

    我不是在询问将语法与文件扩展名相关联 而是在询问将文件扩展名与语法相关联 也就是说 在创建新文件后设置保存文件对话框中建议的文件扩展名 然后设置语法 然后单击 保存 您可以在保存对话框中更改扩展名 但最好不要每次都这样做 用于保存纯文本文件