web-dev-qa-db-fra.com

Comment puis-je ouvrir la ligne de commande Invite de Sublime dans Windows7

J'ai créé une fonction dans VIM nommée OpenCMD (), utilisée pour ouvrir une ligne de commande ou un terminal dans VIM (et cd dans le chemin du fichier actuel)

func! OpenCMD()
    if has('win32')
        let com = '!cmd /c start cd '. expand('%:p:h')
    else
        let com = '!/usr/bin/gnome-terminal --working-directory=' . expand('%:p:h')
    endif
    silent execute com
endfunc
nmap cmd :call OpenCMD()

Maintenant, je veux ouvrir la ligne de commande et cd dans le chemin du fichier actuel dans Sublime (sublime 3 beta). La fonction est identique à la OpenCMD().

Et j'ai cherché une question dans le flux de recouvrement: Sublime Text 2 - Ouvrez l'invite CMD dans le répertoire actuel ou du projet (Windows)

J'ai fait ce que le premier gars a répondu (Créer cmd, cmd.py et Context.sublime-menu). Mais cela ne peut pas fonctionner, l'opération cmd est toujours désactivée.

cmd_in_sublime3

Y a-t-il un moyen de l'obtenir? Merci d'avance!

11
Marslo

La réponse à propos de Sublime Text 2 - Ouvrez l’invite CMD dans le répertoire actuel ou du projet (Windows) est presque correcte.

Un seul pas (pour moi) doit être changé: le nom du fichier doit être majuscule . Utilisez CMD au lieu de cmd.


Mes pas (Win7):

  • Ouvrez le dossier %APPDATA%\Sublime Text 3\Packages ou cliquez simplement sur Préférences -> Paquets du navigateur .. in sublime-text-3 Beta 
  • Créez un dossier nommé CMD ( Majuscule ). Le chemin deCMDdevrait être %APPDATA%\Sublime Text 3\Packages\CMD
  • Ouvrez le dossierCMDet créez un fichier nommé cmd.py ( minuscule ), collez le contexte comme ci-dessous:
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)
  • Créez à nouveau un fichier nommé Context.sublime-menu. Ajouter un contexte comme ci-dessous:
[
     { "command": "cmd" }
]
  • La fonction Cmd fonctionnera dans menu contextuel (clic droit). Par exemple:Open_cmd_in_Sublime

Bien entendu, si vous souhaitez ouvrir ligne de commande par commande (par 'cmd' par exemple), vous pouvez ajouter le contexte suivant dans Par défaut (Windows) .sublime-keymap fichier. :

{ "keys": ["c", "m", "d"], "command": "cmd"}

Vous pouvez l'ouvrir depuis Préférences -> Reliure clavier - Utilisateur

28
Marslo

Merci beaucoup @Marslo! Mais, je pense que nous pouvons améliorer un peu le plugin ... (je suis sur st3 beta, window 8)

import os
import sublime_plugin

class CmdCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        os.system("cd " + self.view.file_name() + " & start cmd")
2
math2001

Vous pouvez installer Terminal package dans Sublime Text 3 en procédant comme suit.

  1. Cliquez sur Contrôle du paquet dans Préférences .
  2. Sélectionnez Installer le package .
  3. Recherchez "Terminal" dans la liste des packages puis installez-le.

Maintenant, lorsque vous cliquez avec le bouton droit sur un fichier ou un dossier, vous verrez Open Terminal Here option

2
Ali

Pour Windows, je remplace la commande par: 

command= "cmd /K cd "+current_directory
1
Oleg alex