web-dev-qa-db-ja.com

Sublime Text 2-現在のディレクトリまたはプロジェクトディレクトリでCMDプロンプトを開く(Windows)

次のSublimeコマンドは、現在のファイルの場所でエクスプローラーウィンドウを開くため、非常に便利であることがわかりました。

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

私が好きなのは、代わりにcmdウィンドウを開く同様のコマンドです。ルートプロジェクトフォルダが理想ですが、現在のファイルディレクトリも問題ありません。

次の質問を読んだことがありますが、崇高なプラグイン/コマンドでこれを使用する方法を理解することはできません: 現在のディレクトリでCMDを開くBATファイル

34
captainclam
  1. Sublime Text 2のメニューpreference> Browser Packagesをクリックします。
  2. 手順1で開いたディレクトリにCmdフォルダーを作成します。
  3. 手順2で作成したCmdフォルダーに以下のコードを含むcmd.pyという名前のpythonファイルを作成します。
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. 手順2で作成したCmdフォルダーに次のコードを含むContext.sublime-menuという名前のファイルを作成します。
[
     { "command": "cmd" }
]
  1. Sublime Textを再起動します。

これで、右クリックコンテキストメニューの現在のディレクトリでCmdプロンプトを開くことができます。

59
TomCaps

Shell Turtlestein package にもこのためのコマンドがあります。
そのパッケージをインストールすると、次のように入力できます CTRL+SHIFT+ALT+C
(または CMD+SHIFT+ALT+C Macの場合)、現在のファイルのフォルダーでcmd/terminalを開きます。

18
Cruinh

TomCapsの回答を展開するだけで、手順3を次のように変更して、ルートプロジェクトフォルダーでコマンドプロンプトを開くこともできます(質問で要求されたとおり)。

  1. 手順2で作成したcmdフォルダーに次のコードを含むcmd.pyという名前のpythonファイルを作成します。

    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

Mac OS X以外は同じものを探していました。

しかし、私は最終的に

次の理由から:

  • Shell Turtulesteinの主な目的は別の
  • Sublime Terminalでは、ビルトインターミナルの代わりにiTermを使用できます
2
duongel

非Pythonメソッド。

  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が取得されます。

    $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に移動し、次のコードを貼り付けます。このショートカットはCTRL+CDです。

        { "keys": ["alt+c,alt+d"], "command": "build", "args": { "file": "{packages}/User/cmdRunFromDIR.sublime-build" } }
    
  6. そのファイルの最後の行でない場合は、この行の最後に,を追加します。

  7. Sublime Textを再起動する必要はありません。

  8. Menu> Tools> Build System> cmdRunFromDIRからもアクセスできます。
    これが完了すると、CTRL+Bもコマンドを実行します。


便利なリンク:Sublime Textから直接.batファイルを実行する方法については、以下の最初のリンクを参照してください。上記のコードの変更はほとんどありません。

ビルドシステム-Sublime Text

Sublime Text 3では、Sublime Text 2のように「Build and Run」と「Build only」のショートカットを個別に設定する方法

崇高なテキストのコマンドにショートカットを追加する方法

システムの構築–構成

1
Stephen Sherry