Я ищу способ создания некоторого пространства имен C ++, такого как фрагмент в возвышенном text2, который должен вести себя так:
Предполагая, что у нас есть пространство имен с именем «fu», которое содержит «vector», «Point,» Mat «. Я создаю фрагменты со следующими tabtriggers:
<tabTrigger>fu::vector</tabTrigger>
<tabTrigger>fu::Point</tabTrigger>
<tabTrigger>fu::Mat</tabTrigger>
Когда я сейчас набираю «fu», появляется окно выбора со всеми 3 фрагментами (что идеально), но как только я набираю «::», все они исчезают. Почему это так? Даже когда я набираю «fu :: vecto», для фрагмента нет выбора. Это показывает, что двойная точка избегает всех триггеров фрагментов.
Мне действительно нужно поведение, когда я набираю «::», который должен показать все определения в определенном пространстве имен.
Это как-то возможно?
Заранее спасибо за ваше время.
Возвышенный текст 2 считает :
символ, который будет разделителем слов, поэтому для Sublime Text, набрав :
это то же самое, что печатать пробел для разделения слов. Ergo, это отключает автозаполнение.
Ты можешь сделать :
s в фрагментах работает так, как вы хотите, добавив эту строку в ваш файл пользовательских настроек (Preferences -> Settings - User
, Не забудьте исправить запятые, если вам нужно):
"word_separators": "./\\()\"'-,.;<>~!@#$%^&*|+=[]{}`~?",
Вот только word_separators
значение из файла настроек по умолчанию, но с :
изъятые.
Если вы хотите, чтобы Sublime Text игнорировался :
в C ++ вместо этого добавьте строку в файл настроек C ++ (Open a C++ file -> Preferences -> Settings - More -> Syntax Specific - User
).
Других решений пока нет …