2017-01-16 8 views
0

Скажем, у меня есть этот HTML-макет в Sublime:Sublime Text 3 причудливо отступ HTML

<!DOCTYPE html> 
<html> 
<head> 
<title></title> 
</head> 
<body> 
<div> 
<h1> 
hello 
</h1> 
</div> 
</body> 
</html> 

Я пытаюсь отступов, и я получаю это:

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 
    <div> 
     <h1> 
      hello 
     </h1> 
    </div> 
</body> 
</html> 

Когда я хочу это:

<!DOCTYPE html> 
<html> 
    <head> 
     <title></title> 
    </head> 
    <body> 
     <div> 
      <h1> 
       hello 
      </h1> 
     </div> 
    </body> 
</html> 

т.е. я хочу <head> и <body> для отображения как дети <html> ин тид быть на одном уровне. Есть ли встроенный способ изменить это?

+0

Я отступом мой HTML-код, как это тоже на самого начало. Проблема в том, что у вас есть 1 уровень отступов для всего кода, что довольно раздражает на маленьком экране. Ты просто «тратишь» свой экран ИМХО. – math2001

ответ

0

Вы можете редактировать indentation rules, что ST3 использует для отступа HTML.

  1. Установите PackageResourceViewer, если он еще не установлен
  2. Откройте Command Palette
  3. Тип PRV: O и выберите PackageResourceViewer - Open Resource
  4. Выберите HTML
  5. Выберите Miscellaneous.tmPreferences
  6. Удалить (?!html) в batchDecreaseIndentPattern
  7. в Удалить |html в batchIncreaseIndentPattern
  8. Сохранить файл
1

Решено. То, что я сделал, было установить HTMLBeautify, а затем создать пользовательскую команду:

import sublime, sublime_plugin 

class SaveRegime(sublime_plugin.WindowCommand): 
    def run(self): 
     if "html" in self.window.active_view().settings().get("syntax").lower(): 
      self.window.run_command("html_beautify") 
     else: 
      self.window.run_command("reindent") 

Это не красиво, но это работает.