私はまだこれを理解することができていません。Atomはデフォルトのインデントモードとしてスペースを使用しているようです。代わりにタブを使う方が好きです。Sublime Textには、インデントを切り替えて変換する機能が組み込まれています。
誰もがAtomのインデントモードを変更する方法を見つけましたか?
Sublime Textからのスクリーンショット:
私はまだこれを理解することができていません。Atomはデフォルトのインデントモードとしてスペースを使用しているようです。代わりにタブを使う方が好きです。Sublime Textには、インデントを切り替えて変換する機能が組み込まれています。
誰もがAtomのインデントモードを変更する方法を見つけましたか?
Sublime Textからのスクリーンショット:
回答:
参照ソフトタブとタブ長の下で[設定]> [エディタの設定。
インデントモードをすばやく切り替えるには、Ctrl-Shift-Pを使用して、エディター:Toggle Soft Tabsを検索します。
Ctrl-Shift-P
Editor: Toggle Soft Tabs
[ファイル]-> [設定]に移動します
ここには3つの異なるオプションがあります。
私はいくつかのテストを行い、それぞれが何をするかについてこれらの結論に達しました。
ソフトタブ -これを有効にすると、デフォルトでスペースが使用されます(つまり、新しいファイル用)。
タブの長さ -タブ文字が表示される幅、またはソフトタブが有効な場合にタブに挿入されるスペースの数。
タブタイプ -既存のファイルに使用するインデントモードを決定します。自動に設定すると、既存のインデント(タブまたはスペース)が使用されます。ソフトまたはハードに設定すると、既存のインデントに関係なくスペースまたはタブが強制されます。これを自動のままにしておくのが最善です。
注:ソフト=スペース、ハード=タブ
これをあなたに追加 ~/.atom/config.cson
editor:
tabLength: 4
@Manbroskiを追加する私のために働いたここに回答をします:
試す Ctrl-Shift-P
Editor: Toggle Soft Tabs
パーティーには遅れますが、プロジェクトごとにこれを行うクリーンな方法は、.editorconfigを追加することですますが、ファイルをプロジェクトのルートです。複数のプロジェクトで同時に作業しているときにAtomの設定を変更する必要がなくなります。
これは、私が現在使用している非常に基本的な設定のサンプルです。Atom、STなどで動作します...
# Automatically add new line to end of all files on save.
[*]
insert_final_newline = true
# 2 space indentation for SASS/CSS
[*.{scss,sass,css}]
indent_style = space
indent_size = 2
# Set all JS to tab => space*2
[js/**.js]
indent_style = space
indent_size = 2
これはコアに組み込まれています:見てSettings ⇒ Tab Type
、選択してくださいauto
:
「auto」に設定すると、エディターはバッファーの内容に基づいてタブタイプを自動検出します(コメント行以外の最初の先頭の空白を使用します)。検出は失敗します。
自動検出インデントパッケージを確認することもできます。ドキュメントから:
開いているファイルのインデントを自動的に検出します。開かれている各ファイルを調べ、常にエディターのデフォルトを使用する代わりに、ファイルの内容に基づいてファイル固有のタブ設定(ハード/ソフトタブ、タブ長)を設定します。
アトムがタブに4つのスペースを使用するように構成されていても、デフォルトで2つのスペースになっているrailsプロジェクトを開いている場合があります。このパッケージがないと、タブストップ設定をグローバルに変更する必要があります。そうしないと、ファイル内のリード間隔に一貫性がなくなります。
search-and-replace
コマンドパレットconvert spaces to tabs
(またはそのようなもの)を使用したでしょう。私は過去にうまくいったと思います。
Babelを使用している場合は、「Language Babel」パッケージを必ず更新してください。私にとって、コアエディター設定でタブ長を2に設定していても、Language Babel構成の同じ設定で4に上書きされていました。
Atom -> Preferences -> Packages -> (Search for Babel) -> Grammar -> Tab Length
適切な文法、「Babel ES6 Javascript Grammar」、「language-babel-extension Grammar」、「Regular Expression」があることを確認してください。一貫性を保つために、それらすべてを更新する必要があります。
グローバルタブ/スペースのインデント設定がニーズに合わなくなった場合(つまり、さまざまなインデント形式のレガシーコードベースを使用していて、それらをすばやく切り替える必要があり、自動検出が機能していない場合)、タブを試すことができます。 -コントロールプラグイン。スクリーンショットのメニューの機能を複製します。
Atomの自動インデント検出がどうしようもない間違いを犯し、リテラルのタブ文字を入力することを拒否したとき、私は最終的に「Force-Tab」拡張機能を見つけました。インデント解除のためにShift-tabを保持したかったので、ctrl-tabを設定してハードタブを挿入しました。私のキーマップで私は追加しました:
'atom-text-editor':
'ctrl-tab': 'force-tab:insert-actual-tab'
言語固有の構成の変更
デフォルトのタブ設定を変更しましたが、Pythonファイルである自分のファイルを編集していても影響はありませんでした。〜/ .atom / config.csonの "*"設定を変更しても変更されませんでした。私はそれらのどちらにも良い説明がありません。
しかし、config.csonに以下を追加すると、Pythonファイルのタブを2つのスペースに変更できました。
'.source.python':
editor:
tabLength: 2
ソリューションのこのリソースのおかげで:タブの長さがタブキーを尊重しない