私はこれについての投稿がたくさんあることを知っていますが、私はそれをうまく動かすことができませんでした。
コーディングにはタブを使います。常にスペースをタブに変換する方法はありますか?すなわちファイルを開くときと保存するとき誰かアイデアがありますか?
//編集:
私の願いは、これを自動的に行うことです。 - >開く、保存する、またはその場で
誰もがやり方を知っていますか?
this :を試してみました
import sublime, sublime_plugin, os
class ExpandTabsOnSave(sublime_plugin.EventListener):
# Run ST's 'expand_tabs' command when saving a file
def on_pre_save(self, view):
if view.settings().get('expand_tabs_on_save') == 1:
view.window().run_command('expand_tabs')
そして、これが私のユーザー設定です。
{
"auto_complete_selector": "source - comment, meta.tag - punctuation.definition.tag.begin",
"auto_indent": true,
"detect_indentation": true,
"draw_white_space": "all",
"ensure_newline_at_eof_on_save": true,
"expand_tabs_on_save": true,
"font_face": "SourceCodePro-Regular",
"font_size": 10,
"format_on_save": true,
"ignored_packages":
[
"Vintage"
],
"indent_to_bracket": true,
"open_files_in_new_window": false,
"smart_indent": true,
"tab_size": 4,
"translate_tabs_to_spaces": false,
"trim_automatic_white_space": true,
"trim_trailing_white_space_on_save": true,
"use_tab_stops": false,
"Word_wrap": false
}
Sublime Textウィンドウの右下に、次のようなインデントインジケータが表示されます。
それをクリックすると、あなたのインデント設定を調整するためのオプション、そしてもっと重要なことに、スペースをタブに、そしてその逆に変換するためのオプションを含むメニューが開きます。
同じメニューがView -> Indentation
の下にリストされています。
Sublimeウィンドウの下部に、タブ/スペース設定を表す何かが表示されます。
その後、たくさんのオプションを含むドロップダウンが表示されます。気になるオプションは次のとおりです。
文書全体に希望の設定を適用します。
お役に立てれば。
すでにご存知かもしれませんが、Preferences.sublime-settings
でインデント設定をカスタマイズできます。例えば、
"detect_indentation": true,
"tab_size": 4,
"translate_tabs_to_spaces": false
これにより、エディタは4スペース幅のタブを使用するように設定され、Sublimeは編集中のファイルのインデントと一致するようになります。これらの設定では、ファイルを再度インデントすると、スペースがタブに置き換えられます。
ファイルを開くときに自動的にインデントし直すことに関しては、それほど簡単ではありません(しかし、空白の変更がファイルの差分に大混乱をもたらすので、おそらくあまり良い考えではありません)。何がより良い行動の方針かもしれません:あなたは 再インデントのためのショートカットをマップする そしてあなたが修正を必要とする新しいファイルを開くときにちょうどそれを引き起こすことができます。
私の場合、この行は私の問題を解決しました:
"translate_tabs_to_spaces": false
この問題を解決するには、コマンドパレットを使用できます。
ステップ1:Ctrl + Shift + P
(コマンドパレットをアクティブにするため)
ステップ2:「インデント」と入力し、"Indentation: Convert to Tabs"
を選択します
これは、ファイルを開くたびに自動的にタブに変換される解決策です。
このファイルを作成します:.../Packages/User/on_file_load.py
:
import sublime
import sublime_plugin
class OnFileLoadEventListener(sublime_plugin.EventListener):
def on_load_async(self, view):
view.run_command("unexpand_tabs")
注意。実際のスペースからタブへの変換が行われていなくても、ファイルを開いた後でファイルが保存されていない状態になることがあります。
スペースを自動的にタブに変換するには保存時、 "$ SUBLIME_HOME $\Packages \"内の "UnexpandTabsOnSave"という新しく作成されたサブフォルダに次のPythonスクリプトを追加します。
import sublime, sublime_plugin, os
class ConvertSpacesToTabsOnSave( sublime_plugin.EventListener ):
# Run Sublime's 'unexpand_tabs' command when saving any file
def on_pre_save( self, view ):
view.window().run_command( 'unexpand_tabs' )
初期のリソースありがとうございます。