web-dev-qa-db-de.com

Sublime Text 2 - Öffnen Sie die CMD-Eingabeaufforderung im aktuellen Verzeichnis oder im Projektverzeichnis (Windows).

Ich habe festgestellt, dass der folgende Sublime-Befehl wirklich nützlich ist, da er ein Explorer-Fenster am Speicherort der aktuellen Datei öffnet:

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

Was ich lieben würde, ist ein ähnlicher Befehl, der stattdessen ein Cmd-Fenster öffnet. Idealerweise im Stammverzeichnis des Projekts, aber das aktuelle Dateiverzeichnis wäre auch in Ordnung.

Habe die folgende Frage gelesen, kann aber nicht genau herausfinden, wie dies in einem großartigen Plugin/Befehl verwendet wird: BAT-Datei zum Öffnen von CMD im aktuellen Verzeichnis

34
captainclam
  1. Klicken Sie auf das Menü preference> Browser Packages im erhabenen Text 2.
  2. Erstellen Sie einen Ordner Cmd in dem in Schritt 1 geöffneten Verzeichnis.
  3. Erstellen Sie eine python Datei mit dem Namen cmd.py mit dem folgenden Code im Ordner Cmd, der in Schritt 2 erstellt wurde.
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. Erstellen Sie eine Datei mit dem Namen Context.sublime-menu mit dem folgenden Code im Ordner Cmd, der in Schritt 2 erstellt wurde.
[
     { "command": "cmd" }
]
  1. Starten Sie Sublime Text neu.

Jetzt können Sie die Eingabeaufforderung im aktuellen Verzeichnis im Kontextmenü mit der rechten Maustaste öffnen.

59
TomCaps

Das Shell Turtlestein Paket hat auch einen Befehl dafür.
Mit diesem Paket können Sie eingeben CTRL+SHIFT+ALT+C
(oder CMD+SHIFT+ALT+C Mac), um cmd/terminal im Ordner der aktuellen Datei zu öffnen.

18
Cruinh

Um die Antwort von TomCaps zu erweitern, können Sie auch den Befehl Eingabeaufforderung im Stammverzeichnis des Projekts öffnen (wie in der Frage angefordert), indem Sie Schritt 3 wie folgt ändern:

  1. Erstellen Sie eine python Datei mit dem Namen cmd.py mit dem folgenden Code in dem in Schritt 2 erstellten Ordner cmd.

    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
Kevin Blake

Ich habe dasselbe gesucht, außer unter Mac OS X. Ich habe auch das ausprobiert

Aber am Ende habe ich das verwendet

aus den folgenden Gründen:

  • Shell Turtulesteins Hauptzweck ist ein anderer
  • Mit Sublime Terminal kann ich iTerm anstelle des eingebauten Terminals verwenden
2
duongel

Eine Nicht-Python-Methode.

  1. Gehen Sie zu Menu> Preferences> Browser Packages.
  2. Öffnen Sie das Verzeichnis user.
  3. Erstellen Sie eine neue Datei cmdRunFromDIR.sublime-build Und öffnen Sie sie in Sublime Text.
  4. Fügen Sie Folgendes ein ...

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

    Das Obige öffnet den aktuellen Ordner, aber wenn Sie das Projektverzeichnis wollen, dann gibt es hier eine ganze Reihe verschiedener Methoden. Hinweis: Das & Nach START gibt dann den $file_path variable Weiter, der geändert werden kann zu einem der folgenden. Ich konnte keine Dokumentation dafür sehen. Es war nur Versuch und Irrtum in meinem Namen und macht Sinn, wenn Sie darüber nachdenken. Wenn Sie also versuchen, "cmd": ["C:\\\\Windows\\System32\\cmd.exe", "/C START & $file_path"] Zu übergeben, erhalten Sie ein ERROR, wenn der Pfad Leerzeichen enthält.

    $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. Für die Tastenkombination gehen Sie zu Menu> Preferences> Key Bindings Und fügen Sie den folgenden Code ein. Diese Verknüpfung lautet CTRL+C, D.

        { "keys": ["alt+c,alt+d"], "command": "build", "args": { "file": "{packages}/User/cmdRunFromDIR.sublime-build" } }
    
  6. Fügen Sie am Ende dieser Zeile , Hinzu, wenn dies nicht die letzte Zeile in dieser Datei ist.

  7. Es ist nicht erforderlich, Sublime Text neu zu starten.

  8. Sie können auch über Menu> Tools> Build System> cmdRunFromDIR darauf zugreifen.
    Sobald dies erledigt ist, führt CTRL+B Den Befehl ebenfalls aus.


Nützliche Links: Siehe 1. Link unten, um zu erfahren, wie .bat - Dateien direkt von Sublime Text ausgeführt werden. Sehr kleine Änderung des obigen Codes.

Build System - Sublime Text

In Sublime Text 3, wie man Verknüpfungen für "Build and Run" und "Build only" separat hat, wie es in Sublime Text 2 war

So fügen Sie eine Verknüpfung für einen Befehl in Sublime Text hinz

Build Systems - Konfiguration

1
Stephen Sherry