2015-02-13 16 views
5

Pracuję nad projektem, w którym wielkość tabulatora ma wynosić 4, a tabulatory nie powinny być spacjami. I uaktualniony mój plik Preferences.sublime-settings zawieraćSublime Ustawienia wcięcia tekstu nadpisywane przez plik

"detect_indentation": "false", 
"tab_size": 4, 
"translate_tabs_to_spaces": false, 

Kiedy otwieram nowy plik ustawienia te są przewidziane do tego, jak chcę i wszystko działa. Jeśli jednak otworzę istniejący plik (scss lub html), który ma wcięcia jako 2 spacje, moje ustawienia Sublime zostaną nadpisane, a wcięcia zmienią się na 2 spacje. Jeśli kliknę opcję Widok> Wcięcie, widzę, że Rozmiar tabulatora jest ustawiony na 2, a funkcja Wcięcie przy użyciu spacji jest włączona, mimo że moje preferencje powinny być odwrotne.

Jeśli ręcznie zmieniam wcięcie przez Widok> Wcięcie na szerokość karty: 4 i usuń zaznaczenie Wcięcie przy użyciu Spacji, będzie to działało, dopóki nie zapiszę pliku, w którym to momencie ustawienia powrócą do opcji Tab Szerokość 2 i Wcięcie przy użyciu Spacji.

W jaki sposób można wymusić wysublimowany tekst, aby uszanować moje preferencje wcięcia i nie można go zastąpić innym plikiem. Zakładam, że Sublime wykrywa wcięcia na stronie, ale wyłączyłem to ustawienie.

Tu jest mój plik preferencji pokazując, że wszystko powinno działać:

preferences file

Oto pomieszane ustawienia pliku SCSS. Wszystko zrobiłem było otwarte go:

incorrect indentation settings

Nie sądzę, każdy plugin jest przyczyną tego, że większość z nich wyłączone i nadal występuje ten problem.Jednakże, dla odniesienia, tutaj jest lista wszystkich pakietów mam zainstalowane:

  • Alignment
  • BracketHighlighter
  • Kapibara Fragmenty
  • ColorPicker
  • dotfiles Podświetlanie składni
  • EditorConfig
  • Emmet
  • Fragmenty kodu ERB
  • Gem Przeglądarka
  • Gist
  • Git
  • GitGutter
  • haml
  • jQuery
  • JSHint
  • kontrolny pakiet
  • Dość JSON
  • PyV8
  • RSpec
  • SCSS
  • SideBarEnahancements
  • SublimeLinter
  • terminalowe
  • TrailingSpaces

Dzięki z góry za wszelką pomoc.

Odpowiedz

2

Po załadowaniu pliku jego zawartość jest sprawdzana, a ustawienia "tab_size" i "translate_tabs_to_spaces" dla tego pliku. Obszar stanu będzie raportował, gdy tak się stanie. Chociaż ogólnie to działa dobrze, możesz chcieć go wyłączyć. Możesz to zrobić za pomocą ustawienia "detect_indentation".

To może być pomocne: https://www.sublimetext.com/docs/2/indentation.html

+0

Dzięki za komentarz. W rzeczywistości ustawiłem moje ustawienia użytkownika tak, aby "detect_indentation" było ustawione na false. To są moje ustawienia wcięć w moich Preferencjach.złożyć sublime-settings: ' "detect_indentation": "false", "tab_size": 4, "translate_tabs_to_spaces": false,' Mimo to nadal jestem uzyskiwanie błąd. – jasonleibowitz

+0

Zmień "" detect_indention ":" false "' na "" detect_indention ": false' – BarzinM

+0

Barzin, moje złe. Wartość "detect_indentation" jest już wartością boolowską, a nie łańcuchem. Jest fałszywy, a nie "fałszywy". – jasonleibowitz

4

Więc zdobione to przez całkowite odinstalowanie Sublime Text i wszystkie powiązane pakiety i ustawienia, a następnie ponownie zainstalować aplikację i jeden po drugim ponowne instalowanie moje pakiety. Okazuje się, że jeden z moich pakietów, EditorConfig, nadpisał moje ustawienia stylu Wysublimowanego tekstu.

EditorConfig to naprawdę fajna wtyczka, która pozwala wielu programistom pracującym nad jednym projektem w wielu IDE mieć spójny styl, definiując typ wcięcia, rozmiar, zestaw znaków i inne ustawienia.

Odpowiedź na mój problem polegała na tym, że w konkretnym katalogu projektu pracowałem z niektórymi modułami węzła, które pobrałem, mając pliki .editorconfig, które miały wcięcia ustawione jako rozmiar 2 i spacje zamiast tabulacji. Musiałem albo odinstalować pakiet EditorConfig z mojego Sublime Text lub utworzyć nowy plik .editorConfig w katalogu głównym mojego projektu. Jest to utworzony plik .editorConfig, który naprawił mój problem.

# top-most EditorConfig file 
root = true 

# 4 Tab Indentation 
indent_style = tab 
indent_size = 4 
+0

Dzięki za podzielenie się tym! To doprowadziło mnie do szału. – Georg

Powiązane problemy