我不是在詢問關聯文件擴展名的語法,而是關於文件擴展名與語法的關聯。即,在創建新文件後,設置保存文件對話框中建議的文件擴展名,然後設置語法,然後點擊保存。如何設置Sublime Text 3語法的默認文件擴展名?
您可以在保存對話框中更改擴展名,但最好不要每次都這樣做。
我不是在詢問關聯文件擴展名的語法,而是關於文件擴展名與語法的關聯。即,在創建新文件後,設置保存文件對話框中建議的文件擴展名,然後設置語法,然後點擊保存。如何設置Sublime Text 3語法的默認文件擴展名?
您可以在保存對話框中更改擴展名,但最好不要每次都這樣做。
爲了節省用.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)
因此,對於降價,你可以做以下改變從.mdown
的默認.md
:
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。
感謝您的回答!我已經創建了一個[一個PR](https://github.com/sublimehq/Packages/pull/755)改變這一點,我們會看到它的去向。 –
PR已合併!我們從來沒有找到一個可靠的方法來處理這個問題,但是可能.md是個例外,而且通常不是必須的。所以,接受這個答案。 –
@KeithHall Upvoted,但不完全理解。你寫道:「爲了在默認情況下保存帶有.txt擴展名的純文本文件......」 - 但是我們不能簡單地把'plain text.sublime-settings'與''default_extension「:」txt「'放在一起嗎?在我的測試中,它工作正常。 –
您是否還試圖將.txt.
設置爲保存純文本文件時的默認文件擴展名?我環顧四周,據我所知,目前還不可能這樣做。可悲的是默認Plain Text
內容類型似乎是唯一一個並非默認其具體.txt
擴展,即使它在存在保存類型中保存下拉爲窗口:
我已經看到推薦使用AdvancedNewFile插件作爲解決此問題的方法,但我沒有任何個人體驗。
是的,這就是主意。我想到的是在保存新的Markdown文件時默認爲'.md'而不是'.mdown'。 –
我不認爲崇高的文字可以做到這一點。即使有插件可以做到這一點,它也不能保證可靠地工作。最好允許用戶在保存文件時選擇擴展名(這似乎是至少在mac中默認的) – gprasant