Sublime Text 2 - открыть приглашение CMD в текущем каталоге или каталоге проекта (Windows)

Я нашел следующую команду Sublime действительно полезной, так как она открывает окно проводника в месте расположения текущего файла:

{ "keys": ["ctrl+alt+o"], "command": "open_dir", "args": {"dir": "$file_path", "file": "$file_name"} },

Что бы я хотел, это аналогичная команда, которая вместо этого откроет cmd-окно. В идеале в корневой папке проекта, но текущий каталог файлов также будет в порядке.

Прочитали следующий вопрос, но не можем понять, как использовать это в возвышенном плагине/команде: BAT файл, чтобы открыть CMD в текущем каталоге

Ответ 1

  • В Sublime Text 2 нажмите меню preference > Browser Packages.
  • Создайте папку Cmd в каталоге, открывшемся на шаге 1.
  • Создайте файл python с именем cmd.py со следующим кодом в папке Cmd, созданной на шаге 2.
import os, sublime_plugin
class CmdCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        file_name=self.view.file_name()
        path=file_name.split("\\")
        current_driver=path[0]
        path.pop()
        current_directory="\\".join(path)
        command= "cd "+current_directory+" & "+current_driver+" & start cmd"
        os.system(command)
  1. Создайте файл с именем Context.sublime-menu со следующим кодом в папке Cmd, созданной на шаге 2.
[
     { "command": "cmd" }
]
  1. Перезапустить высотный текст.

Теперь вы можете открыть приглашение Cmd в текущем каталоге в контекстном меню правой кнопки мыши.

Ответ 2

Пакет Shell Turtlestein также имеет команду для этого.
Установив этот пакет, вы можете набрать CTRL + SHIFT + ALT + C
(или CMD + SHIFT + ALT + C на Mac), чтобы открыть cmd/терминал в текущей папке с файлами.

Ответ 3

Чтобы развернуть ответ TomCaps, вы также можете открыть командную строку в корневой папке проекта (как было запрошено в вопросе), изменив шаг 3 на:

  1. Создайте файл python с именем cmd.py со следующим кодом в папке cmd, созданной на шаге 2.

    import os, sublime, sublime_plugin
    class CmdCommand(sublime_plugin.TextCommand):
        def run(self, edit):
            file_name=sublime.active_window().project_file_name()
            path=file_name.split("\\")
            current_driver=path[0]
            path.pop()
            current_directory="\\".join(path)
            command= "cd "+current_directory+" & "+current_driver+" & start cmd"
            os.system(command)
    

Ответ 4

Я искал то же самое, кроме Mac OS X. Я также пробовал

Но в итоге я использовал

по следующим причинам:

  • Основной задачей Shell Turtulestein является
  • Sublime Terminal позволяет использовать iTerm вместо встроенного терминала

Ответ 5

Непитонный метод.

  1. Перейдите в Menu > Preferences > Browser Packages.
  2. Откройте каталог user.
  3. Создайте новый файл cmdRunFromDIR.sublime-build и откройте в Sublime Text.
  4. Вставьте следующее...

    {
    "cmd": ["C:\\\\Windows\\System32\\cmd.exe", "/C START &"],
    "working_dir": "$file_path"
    }
    

    Приведенное выше откроет текущую папку, но если вы хотите каталог проекта, то здесь целый ряд различных методов. Примечание. Затем & после START $file_path variable которую можно изменить на любую из перечисленных ниже. Я не мог видеть никакой документации для этого. Это было просто методом проб и ошибок от моего имени, и имеет смысл, если подумать. Так что, если вы пытаетесь пройти "cmd": ["C:\\\\Windows\\System32\\cmd.exe", "/C START & $file_path"] для ERROR "cmd": ["C:\\\\Windows\\System32\\cmd.exe", "/C START & $file_path"], чтобы получит ERROR, если путь имеет какие - либо пробельные в этом.

    $file_path  The directory of the current file, e.g., C:\Files.
    $file   The full path to the current file, e.g., C:\Files\Chapter1.txt.
    $file_name  The name portion of the current file, e.g., Chapter1.txt.
    $file_extension The extension portion of the current file, e.g., txt.
    $file_base_name The name-only portion of the current file, e.g., Document.
    $folder The path to the first folder opened in the current project.
    $project    The full path to the current project file.
    $project_path   The directory of the current project file.
    $project_name   The name portion of the current project file.
    $project_extension  The extension portion of the current project file.
    $project_base_name  The name-only portion of the current project file.
    $packages   The full path to the Packages folder.
    
  5. Для сочетания клавиш перейдите в Menu > Preferences > Key Bindings и вставьте следующий код...

        { "keys": ["ctrl+alt+o"], "command": "build", "args": { "file": "{packages}/User/cmdRunFromDIR.sublime-build" } }
    
  6. Добавить , в конце этой линии, если это не последняя строка в этом файле.

  7. Нет необходимости перезапускать Sublime Text.

  8. Вы также можете получить доступ к этому через Menu > Tools > Build System > cmdRunFromDIR.
    Как только это будет сделано, CTRL+B также выполнит команду.


Полезные ссылки: см. 1-ю ссылку ниже, чтобы узнать, как запускать .bat файлы напрямую из Sublime Text. Очень маленькая модификация кода выше.

Система сборки - возвышенный текст 3

В Sublime Text 3, как иметь ярлыки для "Build and Run" и "Build only" отдельно, как это было в Sublime Text 2

Как добавить ярлык для любой команды в возвышенном тексте

Системы сборки - Конфигурация