用于保存纯文本文件.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
:
-
Install 包资源查看器 https://packagecontrol.io/packages/PackageResourceViewer如果尚未安装
-
打开命令面板
-
Type PRV: O
-
Select PackageResourceViewer: Open Resource
-
Select Markdown
-
Select Markdown.sublime-syntax
-
找到它说的地方:
file_extensions:
- mdown
- markdown
- markdn
- md
-
改变它,以便md
位于顶部:
file_extensions:
- md
- mdown
- markdown
- markdn
-
保存文件
然后,当您创建新选项卡时,将语法设置为 Markdown 并保存,它将默认为.md
文件扩展名。
请注意,如果您认为更改默认值也能让其他人受益并且希望查看存储库维护者的反应,您可以尝试在相关 GitHub 存储库中创建问题/PR。