К сожалению, нет способа сделать пакет проекта с указанием c или активным только с указанным синтаксисом c (расширение файла). Для этого есть конструктивные причины , так что вряд ли это что-то изменится.
Несколько лет a go У меня была похожая проблема, хотя в конечном итоге она была решена обновлением пакета.
Обходной путь, который я придумал, заключался в написании плагина для добавления, удаления или переключения пакетов в настройке ignored_packages
. Обратите внимание, что параметр ignored_packages
не может использоваться в параметрах проекта c по тем же причинам, которые указаны выше.
Используя плагин AlterIgnoredPackages
ниже, вы можете изменить настройку ignored_packages
с помощью клавиши привязка при переключении между проектами. Я также разместил AlterIgnoredPackages
в Github Gist .
# Save as AlterIgnoredPackages.py in your user packages directory.
# e.g. ~/.config/sublime-text-3/Packages/User/AlterIgnoredPackages.py
import sublime
import sublime_plugin
class AlterIgnoredPackagesCommand(sublime_plugin.ApplicationCommand):
def run(self, add_list=[], remove_list=[], toggle_list=[]):
preferences = sublime.load_settings("Preferences.sublime-settings")
ignored_packages = preferences.get("ignored_packages", [])
for package_name in add_list:
if package_name not in ignored_packages:
ignored_packages.append(package_name)
for package_name in remove_list:
if package_name in ignored_packages:
ignored_packages.remove(package_name)
for package_name in toggle_list:
if package_name in ignored_packages:
ignored_packages.remove(package_name)
else:
ignored_packages.append(package_name)
preferences.set("ignored_packages", ignored_packages)
sublime.save_settings("Preferences.sublime-settings")
# Unfortunately the automatic ST reloading settings
# message overwrites this message a bit too quickly.
# A workaround with a timeout is in the Github Gist.
message = "ignored_packages: " + str(ignored_packages)
sublime.status_message(message)
Вот несколько примеров привязки клавиш:
{
"keys": ["ctrl+k", "ctrl+z"],
"command": "alter_ignored_packages",
"args": {"add_list": ["PackageName1"],
"remove_list": ["PackageName2", "PackageName3"] }
},
{
"keys": ["ctrl+k", "ctrl+shift+z"],
"command": "alter_ignored_packages",
"args": {"toggle_list": ["PackageName"] }
},