Nano Hash - криптовалюты, майнинг, программирование

Отключить завершение кода внутри кавычек в Sublime Text 3

Есть ли способ отключить завершение кода запуска Sublime Text 3, когда курсор находится внутри одинарных или двойных кавычек:

введите здесь описание изображения

Это кажется бессмысленным поведением и немного раздражает.

Я использую новейшую стабильную версию (3065) Sublime Text 3 с комплектом дополнений PHP плагин, если это имеет значение.


Ответы:


1

Так что получается, что виноват, вероятно, ваш плагин PHP Completions Kit. Я разветвил код на Github, если вы хотите продолжить.

Вы можете заполнить раскрывающийся список автозаполнения в Sublime, создав в формате JSON .sublime-completions< /а> файл. По сути, это длинный список фрагментов со связанными триггерами, имена которых отображаются в раскрывающемся списке и сопоставляются методом нечеткого поиска на основе того, что вы вводите. Все завершения имеют область действия, поэтому они появляются только в нужных частях вашего кода: например, вы бы не хотели, чтобы стандартные имена функций появлялись, когда вы пытаетесь определить класс и т. д.

Вернемся к плагину. Для нескольких файлов автодополнения область действия была создана с использованием отрицательных селекторов: начиная с source.php (базовая область действия для всего PHP-кода) и вычитая нежелательные области видимости. После анализа Sublime завершения будут отображаться где угодно, кроме случаев, когда они явно запрещены. Пример из function.sublime-completions:

"scope": "source.php - variable.other - meta.function.arguments - support.class - entity.other.inherited-class - meta.use - meta.catch - comment.block.documentation.phpdoc"

Таким образом, это были все места, где автор не хотел показывать эти дополнения. К сожалению, в этих нескольких файлах он/она забыл включить область видимости string, поэтому завершения появлялись, когда вы вводили строки, что явно нежелательно. К счастью, это легко исправить: просмотрите все файлы дополнений, проверьте области видимости на наличие отрицательных селекторов и добавьте к ним - string. Теперь они будут работать точно так же, как и раньше, за исключением того, что завершения не будут отображаться ни в какой строке.

Как я уже сказал выше, я разветвил проект здесь и внес необходимые исправления. Я также отправил запрос на включение, так что посмотрим, будет ли/ когда это будет принято в основную кодовую базу. А пока не стесняйтесь клонировать мой репозиторий в свой каталог Packages:

Нажмите Preferences -> Browse Packages..., чтобы открыть каталог Packages. Перейдите в этот каталог через командную строку, затем запустите

git clone https://github.com/MattDMo/sublime-phpck.git "PHP Completions Kit"

Это клонирует репозиторий в папку с именем PHP Completions Kit, перекрывая папку, установленную Package Control. Следите за страницей управления пакетами плагина, и когда вы увидите Modified изменение поля с 2014-09-05 (это во всплывающей подсказке, если навести курсор мыши на текст 3 weeks ago) на более поздний, проверьте репозиторий, чтобы увидеть, был ли это мой запрос на вытягивание, который был объединен и выпущена новая версия, а затем вы можете смело удалять новую папку в Packages и просто придерживайтесь версии Package Control, так как я не буду обновлять репозиторий при любых новых изменениях пакета.

Обновлять

Мой запрос на извлечение был объединен, а управление пакетами обновлено.

26.09.2014
  • Похоже, что даже с обновленным PHP Completions Kit проблема не была решена полностью. похоже, что Sublime Text 3 запускает автодополнение кода для другие источники дополнений. Есть ли шанс, что вы сможете отключить их в этом обновленном ответе? Или мне задать другой вопрос? 01.10.2014
  • @trejder в настройках пользователя добавьте эту строку (или измените ее, если она уже есть): "auto_complete_selector": source - comment - string, meta.tag - punctuation.definition.tag.begin". Это должно делать свое дело. 01.10.2014
  • Идеально, как обычно! :] 01.10.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..