Jump to content

Sublime Text 2/3


lexxcode
 Share

Recommended Posts

Sublime Text 2/3


Кроссплатформенный текстовый редактор для разработчиков, написанный на C++, а так же Python API для написания плагинов. Поддерживает огромное количество языков программирования "с коробки".
В этой теме первый пост будет содержать набор всевозможных полезностей связанных с ST2, оставленных пользователями в обсуждениях, а так же ряд вопросов которые требуют решения.

Работа с SFTP и системой проектирования.


Создаем директорию у себя, где вам удобно. Это будет папка для синхронизации ftp.
Перетаскиваем папку в ST2, в левой панели жмем на папке ПКМ=>SFTP/FTP=>Map to Remote...
В открывшемся файле конфигурации настраиваем подключение.
"type": "ftp"
"upload_on_save": true
"host": ip/host
"user": "username"
"password" : "password"

Настройка самого плагина SFTP следуем пути: Preferences=>Package Settings=>SFTP=>Settigs Default
Я для себя поменял параметр hide_output_panel, на 0 (по-умолчанию - 1), тем самым запретил скрытие консольной панели ftp, которая находится внизу. Если данный параметр будет стоять в состоянии 1, то панель будет автоматически скрываться, но при каждом обращении к серверу, будет появляться на время, лично мне это не очень понравилось.

Итогом этих манипуляций мы получаем слева панель с деревом файлов, кликаем ПКМ в этой панели и выбираем SFTP/FTP=>Sync Remote -> Local... и вуаля мы видим, как красиво происходит синхронизация с сервером, и файлы загружаются во временную папку и появляются в проекте. И вот мы получили, автокомплит, авто-сохранение с сервером.



Подключаемся к серверу по sftp с помощью ST2 и плагина SFTP


Настройка сервера (на примере ArchLinux):
Заходим под root
Открываем sshd_config, по пути /etc/sshd/sshd_config

Раскомментируем параметры
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

Сохранем именения и перезапускаем демон sshd коммандой
# /etc/rc.d/sshd restart

Логинимся под ограниченным пользователем, который будет работать с ssh.
Создаем приватный и публичный ключи.
$ ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa
Переходим в директорию ~/.ssh/
$ cd ~/.ssh/
В этой директории будут лежать свеже испеченные приватный и публичный ключи
для авторизации по ssh id_rsa и id_rsa.pub.
Создадим authorized_keys:
$ cat id_rsa.pub >> authorized_keys
Осталось только расставить права доступа:
$ cd ../
$ chmod 700 .ssh
$ cd .ssh
$ chmod 600 authorized_keys

Все сервер готов для авторизации по rsa ключу.

Подготовка к подключению через Sublime Text 2:
Выкачиваем с сервера публичный и приватный ключи (id_rsa и id_rsa.pub).
Далее только для Windows:
Скачиваем программку Puttygen отсюда http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Открываем Puttygen загружаем приватный ключ id_rsa в меню Conversions=>Import key
Загрузится ключ и активируются кнопки save public key и save private key.
Если при генерации ключа на сервере вы указали passphrase, то в puttygen так же их указываем в соответствующих полях.
Нажимаем save private key и сохраняем с именем id_rsa.ppk
Вот у нас готов ключ для авторизации в ОС Windows. Это необходимо так как в Windows версии
авторизация происходит через утилиту psftp, а она принимает ключи формата putty.

Теперь собственно авторизация из Sublime Text 2:
Создаем директорию у себя где вам удобно. Это будет папка для синхронизации sftp.
Для удобства закинем наши ключи в эту папку id_rsa.pub и id_rsa.ppk.
Закидываем папку в ST2, в левой панели жмем на папке ПКМ=>SFTP/FTP=>Map to Remote...
В открывшемся файле конфигурации настраиваем подключение.
"type": "sftp"
"upload_on_save": true
"host": ip/host
"user": "username"
"port": "22"
"ssh_key_file": "x:\\путь_к_файлу\\id_rsa.ppk"

Особое внимание! Виндовые слеши нужно дополнительно слешировать \\ !

Вот и все пробуем подключится ПКМ=>SFTP/FTP=>Browse Remote...



Интересный обзор ST2 от ablay2009, дополнение от меня, если в ftp не хотите выгружать файл в ручную, то в конфиге подключения параметр "upload_on_save" переводим в true. Так при сохранении файл автоматически загрузится на сервер.

Полезные ссылки:
Sublim Text 2 Docs
Список плагинов
Описание полезных расширений от net.tutsplus.com
Список настроек с описанием на русском
Use Dropbox to store your Sublime Text 2 settings, themes and plugins

Отключаем ctrl+wheel

FAQ
Q: Где скачать Sublime Text 2?
A: Sublime Text 2 dev актуальная версия 2216
Sublime Text 2.0.1 версия 2217

Q: Как поставить плагины?
A: Управление пакетами. Не много о Zen Coding в ST2

Q: Не корректно работают сниппеты Zen Coding в CSS
A: Конфликтуют встроенные сниппеты со сниппетами ZC, чтобы отключить встроенные сниппеты, заходим по пути в win7 c:\Users\имя пользователя\AppData\Roaming\Sublime Text 2\Packages\CSS\ и удаляем, а лучше просто переносим куда-то все папки которые там есть, файлы которые лежат в корне этой папки оставляем.

Q: Как сделать чтобы выделенное слово подсвечивалось по всему документу, как в Notepad++?
A: Двойной клик по слову, выделяет его, и выделяет рамкой все такие же слова в коде.
Как сделать в точности как в NPP пока не известно.

Q: Как сделать дублирование участка кода как в NPP по CTRL+D?
A: Ctrl + Shift + D
Дублируется либо линия, либо выделенный участок кода. Можно поменять в Key Bindings { "keys": ["ctrl+d"], "command": "duplicate_line" }

Q: Не хватает возможности выделения текста колонкой, как в NPP с клавишей Alt.
A: Нажимаем среднюю кнопку мыши и тянем по коду, выделяется колонка.
(alt + тянем мышь с ЛКМ) в выделенном участке отменяет выделение.

Q: Как включить отображение непечатаемых символов?
A: В Preferences=>Settings - Default . Параметр draw_white_space, отвечает за отрисовку непечатаемых символов, по-умолчанию стоит selection - при выделении, можно установить all - всегда или none - никогда

Q: Как сделать подсветку всей линии, в месте где находится курсор как в npp?
A: В Settings - Default параметр highlight_line устанавливаем в true.

Q: Не работает функция Install Package. В настройках есть, но когда выбираю - нет никакого списка. (Windows)
A: В пути к папке AppData присутствуют русские буквы. Это может быть подписана папка пользователя на русском, или папка "Users" названа "Пользователи", или оба варианта сразу. Необходимо избавится от русских названий.

 

Переименование папки учетной записи
1. Создайте вторую уч. запись.
2. Дайте ей админские привилегии.
3. Загрузитесь под ней.
4. Переименуйте каталог профиля старой учётки в соответствии с её названием.
5. Под ключом реестра [HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList] найдите ключ, под которым Reg_Expand_Sz-параметр "ProfileImagePath" указывает на старую учётку (судя по Вашему описанию его значение должно быть "C:\Users\User" (при условии, что папка пользовательских профилей - "C:\Users")).
6. Переименуйте в значении этого параметра слово "User" в соответствии с новым названием учётки.
7. Загрузитесь под своей законной учёткой.



Q: Какой аналог плагина MIME Tools из npp есть в ST2?
A:

Q: Как сделать подсветку линии колонки как в npp (Конфигурация=>Разное=>Подсветка совпадающих тегов=>Разрешить)?
A: draw_indent_guides и indent_guide_options

Q: Как сделать Open Folder в том же окне редактора?
A:

  • Like 3
Link to comment
Share on other sites

Как работает Sublime Alignment? Установил плагин с помощью Package Control, выделаю код:

            <ul>
<li><a href="#">About Us</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Products</a></li>
<li><a href="#">Solutions</a></li>
<li><a href="#">Price List</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">FAQ</a></li>
</ul>

Нажимаю ctr+alt+a (как написали разработчики тут) и ничего не происходит.

Link to comment
Share on other sites

У меня работает, но он выравнивает, по самой дальней строке, то есть этот плагин не форматирует код по правилам вложенности, а просто выделенные места по самой дальней строке в колоночку.

Из такого


<?php
$_config['emails']['smtp'] = array(
'host' => 'smtp.gmail.com',
'auth' => 'login',
'ssl' => 'tls',
'port' => 587,
'username' => '...',
'password' => '...',
'forceRecipient' => '...@...',
);
?>

В такой


<?php
$_config['emails']['smtp'] = array(
'host' => 'smtp.gmail.com',
'auth' => 'login',
'ssl' => 'tls',
'port' => 587,
'username' => '...',
'password' => '...',
'forceRecipient' => '...@...',
);
?>

Link to comment
Share on other sites

Нашел что-то подобное Reformat Code в WebStorm. Тут сам плагин или можно вписать в Package Control - Tag. Ctrl + alt + f для форматировки html кода.

Кто-то настроил нормально автокомплит css свойств? Если нажать Ctrl + space и выбрать допустим свойство height, то редактор напишет просто height. Если после этого еще раз нажать Ctrl+space и снова выбрать heigh то он добавит : и ; Хотелось бы что бы сразу ставил : ;

Edited by ShootingStar
Link to comment
Share on other sites

А на последние три вопроса надо ответы или так и задумано что на них нет ответа?

Да нужны ответы. На них пока нет ответа просто. Может это как-то иначе оформить, не знаю...

Можно еще дописать для настроек SFTP, что в host можно указывать так же и айпишник вместо имени сервера.

По идее очевидно... Но это для меня ок, допишу.

Link to comment
Share on other sites

Q: Не хватает возможности выделения текста колонкой, как в NPP с клавишей Alt.

A: http://www.sublimetext.com/docs/2/column_selection.html

У меня из того списка работает все кроме, выделение через ALT :unsure: , или там нужно, что-то до устанавливать?

Link to comment
Share on other sites

Поставил dev версию.

И немного разочаровался. Зачем делать сглаживание шрифта отличное от системного?

Я полностью убираю ClearType, мне так удобнее воспринимать текст. И тут такой подвох.

Выделение колонок работает, подсвечивание(обрамление) совпадений с выделенным словом вполне устраивает.

Link to comment
Share on other sites

В статье у ablay2009, есть вариант с созданием специальной папки для ftp, и маппинга в нее удаленной директории. Вопреки предупреждениям, провел адовый эксперимент, и сделал полную синхронизацию своего сервера в локальной сети (9 хостов, 180Мб данных). Пришлось прилично подождать, но все прошло гладко. Единственное, в настройках подключения, я поменял параметр "upload_on_save" на true, тем самым избавив себя от необходимости в ручную отправлять файл на сервер. Теперь при сохранении файла, он автоматом загружается на сервер.

Выделение колонок работает, подсвечивание(обрамление) совпадений с выделенным словом вполне устраивает.

Выделение колонок, это то что через alt ты спрашивал?

Link to comment
Share on other sites

Q: Как сделать дублирование участка кода как в NPP по CTRL+D?

A: Ctrl + Shift + D

Так в винде. Дублируется либо линия, либо выделенный участок кода

Выделение колонок работает, подсвечивание(обрамление) совпадений с выделенным словом вполне устраивает.

Выделение колонок, это то что через alt ты спрашивал?

Да, это то что нужно.

Link to comment
Share on other sites

Q: Как сделать дублирование участка кода как в NPP по CTRL+D?

A: Ctrl + Shift + D

Так в винде. Дублируется либо линия, либо выделенный участок кода

Спасибо добавил в первый пост.

Выделение колонок работает, подсвечивание(обрамление) совпадений с выделенным словом вполне устраивает.

Выделение колонок, это то что через alt ты спрашивал?

Да, это то что нужно.

Странно у меня не работает, даже на чистом...

upd: по нажатию средней кнопки мыши, получается выделение подобное как с atl в npp

Link to comment
Share on other sites

я поменял параметр "upload_on_save" на true, тем самым избавив себя от необходимости в ручную отправлять файл на сервер. Теперь при сохранении файла, он автоматом загружается на сервер.

Спасибо, добавил в статью.

Странно у меня не работает, даже на чистом...

И правильно делает, alt + выделение - это отмена выделения выделенного участка :) Т.е. мы сперва выделили участок кода, а потом решили не выделять какую то часть выделенного ранее.

  • Like 1
Link to comment
Share on other sites

Q: Как сделать дублирование участка кода как в NPP по CTRL+D?

A: Ctrl + Shift + D

Дублируется либо линия, либо выделенный участок кода.

В Key Bindings можно сделать вот так и будет работать на Ctrl+D

{ "keys": ["ctrl+d"], "command": "duplicate_line" },

Q: Как включить отображение непечатаемых символов?

A:

Есть вот такая настройка

"draw_white_space": "selection", которая говорит о том что надо показывать пробельные символы, если текст выделен. Можно ставить none или all, чтобы изменить это поведение. В принципе, меня полностью устраивает вариант selection, так как посмотреть какие пробелы есть надо не так часто, и выделить кусок не сложно

  • Like 3
Link to comment
Share on other sites

"draw_white_space": "selection", которая говорит о том что надо показывать пробельные символы, если текст выделен. Можно ставить none или all, чтобы изменить это поведение. В принципе, меня полностью устраивает вариант selection, так как посмотреть какие пробелы есть надо не так часто, и выделить кусок не сложно

Не знаю хорошо или плохо, но я пользуюсь не пробелами, а табуляцией для отбивки кода.

Нелюблю когда код в перемешку табопробельный. А если не отображаются пробелы табы, то код такой и будет.

Link to comment
Share on other sites

"draw_white_space": "selection", которая говорит о том что надо показывать пробельные символы, если текст выделен. Можно ставить none или all, чтобы изменить это поведение. В принципе, меня полностью устраивает вариант selection, так как посмотреть какие пробелы есть надо не так часто, и выделить кусок не сложно

Не знаю хорошо или плохо, но я пользуюсь не пробелами, а табуляцией для отбивки кода.

Нелюблю когда код в перемешку табопробельный. А если не отображаются пробелы табы, то код такой и будет.

Я тоже считаю что надо использовать табы, а не пробелы. Но стандарты кода на питоне говорят что надо использовать 4 пробела для отбивки и ничего с этим уже не поделать.

Link to comment
Share on other sites

У меня, кстати, вот вопрос возник — может, кто сталкивался. Есть какие-то файлы, которые я открываю через файловый менеджер «Open with Sublime Text 2», то файлы открываются не в уже существующем окне, а в новом. Ну и если делать «Open Folder» в редакторе, то тоже открывается новое окно, а не директория открывается в том же окне, что мне кажется более логичным. Использую Ubuntu 10.04 в стандартной комплектации.

Link to comment
Share on other sites

У меня на Win7 тоже Open Folder открывает новое окно. А если просто затаскивать папку, то можно открыть в том же окне в левой панели. Что-то я настроек открытия не нашел

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


  • Обсуждения

    • Здравствуйте, подскажите в чем может быть причина такой ситуации. Адаптирую сайт под разные устройства, все было хорошо, проверила как отображается, сохранила, но когда открыла повторно все съехало, но только под одно устройство (575рх) Меню после пролистывания занимает нужную ширину  Остальные размеры сохраняются , начиная с 770рх Код не менялся, проверяла несколько сохраненных на разных этапах верстки, все были рабочие и на всех слетело одно и тоже, хотя с ними дальнейшей работы не было, также проверяла на разных браузерах, проблема одна (( Буду благодарна за помощь 
    • Подскажите пожалуйста, как правильно сделать кастомный список стран используя API. Вот fetch код:   const countryList = document.querySelector('.form-list.country'); fetch('https://restcountries.com/v3.1/all').then(res => { return res.json(); }).then(data => { let output = ''; data.forEach(country => { output += `<li class="form-item" data-value="${country.name.common}">${country.name.common}</li>`; countryList.innerHTML = output; }); }).catch(err => { console.log(err); }); полный код html, css, js Во втором списке "Country" список формируется, но название страны не поставляется в форму, а атрибут "data-value="" " в инпут ниже. В первом списке "Guests Amount" все ок, т.к. данные прописаны в html. Нужен такой же, но со странами. Сразу скажу, с тегом select все работает, но мне нужна стилизованная выпадашка. Заранее спасибо.
    • Скорей всего у контента отступ, который следует убрать стилями CSS. Посмотрите в devTools
    • По поводу HTML — http://htmlbook.ru/samhtml По поводу CSS — http://htmlbook.ru/samcss
    • Здравствуйте. На пример вот так:
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy