Sublime Text Advanced CSV с автоматическим выравниванием - PullRequest
0 голосов
/ 09 октября 2018

В настоящее время я открываю файл CSV в Sublime с уже установленным Advanced CSV.

Нажмите на привязку ключа Ctrl+Comma, Space, чтобы оправдать csv.

Есть ли способ автоматического выравнивания CSV после его открытия.

1 Ответ

0 голосов
/ 10 октября 2018

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

Самый простой способ найти команду - это посмотреть в привязках клавиш.Однако этот пакет не предоставляет удобную команду меню для просмотра или изменения.

В этом случае вы можете выбрать View > Show Console из меню и затем ввести команду sublime.log_commands(True), чтобы включить ведение журнала команд., затем нажмите связывание клавиш и посмотрите, что регистрируется, затем выполните ту же команду с False, чтобы отключить ведение журнала.Вывод в консоли будет выглядеть следующим образом:

>>> sublime.log_commands(True)
command: csv_format_expand
Using delimiter: ','.
>>> sublime.log_commands(False)

Итак, теперь мы знаем, что имя команды csv_format_expand.Теперь мы можем создать наш плагин, выбрав Tools > Developer > New Plugin... в меню и заменив все содержимое файла на приведенный ниже код, а затем сохраните его в том месте, где Sublime будет по умолчанию иметь памятное имя, например csv_format_on_load.py или что-то подобное,чтобы вы знали, что это позже.

import sublime
import sublime_plugin


class CsvEventListener(sublime_plugin.ViewEventListener):
    @classmethod 
    def is_applicable(cls, settings):
        return "/Advanced CSV/" in settings.get("syntax")

    def on_load(self):
        self.view.run_command("csv_format_expand")

Это настраивает прослушиватель событий, который применяется только к файлам, синтаксис которых находится в пакете Advanced CSV (то есть только к файлам CSV) и которые при загрузкевыполняет команду.

...