2015-04-16 2 views
2

Я программист JavaScript, использующий Sublime Text. Я предпочитаю использовать двойные кавычки для одинарных кавычек. Есть ли способ или плагин, где мы можем поменять нажатие клавиши одиночной и двойной цитаты?JavaScript/Sublime Текст: обмен ключами с одной и двумя ключами

Обратите внимание, что я знаю о плагинах (например, SublimeChangeQuotes), которые делают это в файле или на выделенном тексте. Но это не то, что я ищу.

То, что я ищу, это: При нажатии на клавишу для одиночной кавычки следует производить двойную кавычку, а при нажатии клавиши двойной кавычки (с клавишей сдвига) должна производиться одиночная кавычка. Все это, пока я набираю свой код JavaScript.

Инструменты качества кода JavaScript, такие как jshint, jscs и т. Д., Ожидают, что строки будут двойными. Вот почему двойная кавычка очень часто используется при кодировании JavaScript.

Зачем мне это нужно? Просто, просто чтобы не нажимать клавишу переключения каждый раз, когда мне нужна двойная цитата.

+0

Я не могу помочь вам в этом :) Также я бы не рекомендовал его, потому что с одинарными кавычками вам не нужно избегать значений html. Но это ваш личный выбор, в отличие от PHP, ECMAScript не имеет никакого значения. – wintercounter

ответ

1

1) Перейти к "Key Bindings - User" из "Настройки"

2) Добавьте следующие две строки, которые в основном делает это обменивать.

{ "keys": ["\""], "command": "insert_snippet", "args": {"contents": "'$0'"} }, 
{ "keys": ["'"], "command": "insert_snippet", "args": {"contents": "\"$0\""} } 

Эти строки должны быть помещены в массив, указанный в файле привязки ключей.

3

Можно изменить карту ключей в реестре Windows без каких-либо сторонних инструментов, но более простой и безопасный способ сделать это - использовать что-то вроде AutoHotKey. Я использую его для перепрограммирования клавиши «\» выше Enter to Enter, потому что я никогда не встречался с дизайнерами клавиатуры, убирающими большой L-образный ключ Enter!

Чтобы использовать его, установите и запустите AutoHotKey. Это даст вам сценарий по умолчанию, который можно изменить, добавив в него следующие строки:

'::" 

"::' 

Это будет обменять в течение двух входов.

Если вы хотите, отображение только влияет на одну программу вы можете поместить скрипт в «если» блок следующим образом, используя имя окна или несколько других идентификаторов:

IfWinActive("Sublime Text") 
{ 
    '::" 

    "::' 
} 

Мой синтаксис не может быть совершенным, я работаю из памяти - here is a link to the IfWinActive docs, если вам нужна дополнительная помощь.

+0

Можно ли это сделать для конкретного приложения? Вместо всей системы? – evolutionxbox

+0

Да, это возможно! Я уточню свой ответ методом ... – Ivan

+0

Спасибо Ивана за идею. Я подожду в течение долгого времени, когда вы получите ответ. – Vijey

Смежные вопросы