Изменение пути по умолчанию для сохранения макросов в Sublime Text 3 - PullRequest
1 голос
/ 30 января 2020

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

У меня также есть два плагина, которые:

  1. Автоматически добавляет папку, в которой сохраняются мои макросы, на боковую панель всякий раз, когда я открываю новое окно или начинаю новый проект.

  2. Добавляет параметр «Запуск макроса» в контекстное меню, которое затем выполняет макрос.

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

Однако есть одна последняя вещь, которую я пытаюсь достичь:

Когда я сохраняю макрос по умолчанию, появляется окно, спрашивающее меня, где сохранить мой макрос файл автоматически выбирает следующий каталог:

/ Users / myname / Библиотека / Поддержка приложений / Sublime Text 3 / Packages / User

Я хочу изменить это местоположение по умолчанию для сохранение макросов в:

/ Пользователи / mikeabineri / Библиотека / Поддержка приложений / Sublime Text 3 / Пакеты / Пользователь / Макросы

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

Что я пробовал:

Я не очень хорошо знаю python, но я нашел онлайн плагин, который позволяет папке нового файла без названия быть такой же, как папка текущего активированного файла. Это почти то, что я хочу, но не совсем. Сценарий, который делает это, приведен ниже:

# NewFileAtCurrentFolder

import sublime_plugin
import os.path

class NewFileListener(sublime_plugin.EventListener):
    def on_new_async(self, view):
        if not view.window().active_view():
            print("NF: no view")
            return

        newView = view.window().active_view()
        index = view.window().views().index(newView)
        lastView = view.window().views()[index - 1]
        if not lastView:
            print("NF: no lastView")
            return

        fileName = lastView.file_name()
        if not fileName:
            print("NF: no fileName")
            return

        basePath = os.path.dirname(fileName)
        if not basePath:
            print("NF: no basePath")
            return
        print("NF: "+basePath)
        newView.settings().set('default_dir', basePath)

Я попытался изменить переменную basePath с os.path.dirname (имя файла) на путь к моей папке макроса, но это не сработало.

Подводя итог

Я хочу изменить местоположение сохранения по умолчанию для макрофайлов в возвышенном тексте 3. (Обратите внимание, я использую Ma c, так что это все OSX, а не windows)

Любая помощь по этому вопросу будет принята с благодарностью.

...