gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 02:41:32 25 4
gpt4 key购买 nike

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

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

最佳答案

用于保存带有 .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 .

要更改语法的默认文件扩展名, it requires changing the .sublime-syntax file to re-order the file extensions set there so that the default one is first in the list .
(使用前面提到的 default_extension 是不可靠的 - https://github.com/SublimeTextIssues/Core/issues/1527 )

因此,对于 Markdown,您可以执行以下操作以将默认值从 .mdown 更改为至 .md :
  • 安装 PackageResourceViewer如果尚未安装
  • 打开命令面板
  • 类型 PRV: O
  • 选择 PackageResourceViewer: Open Resource
  • 选择 Markdown
  • 选择 Markdown.sublime-syntax
  • 找到它说的地方:
    file_extensions:
    - mdown
    - markdown
    - markdn
    - md
  • 将其更改为 md位于顶部:
    file_extensions:
    - md
    - mdown
    - markdown
    - markdn
  • 保存文件

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

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

    关于sublimetext - 如何在 Sublime Text 3 中设置语法的默认文件扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29737006/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com