Terminal: Terminal Windows : Ouvrir le terminal dans le dossier actuel via une seule commande

Créé le 9 mai 2019  ·  43Commentaires  ·  Source: microsoft/terminal

Actuellement, je peux ouvrir cmd et powershell dans le dossier actuel en tapant cmd ou powershell dans la barre d'adresse de l'explorateur (qui s'ouvre via CTRL+D, donc c'est vraiment soigné et rapide).

Ce serait formidable si cela était également possible avec le nouveau terminal Windows. Mais comme il s'agit d'une application Windows Store, je ne trouve pas de moyen simple de l'ajouter à PATH. Il ne respecte pas non plus le dossier courant lors de l'ouverture. Il démarre toujours dans le dossier par défaut ( C:\WINDOWS\system32 pour cmd et ~ pour Ubuntu).

Ce serait super si c'était possible :

  • Rendre possible l'ajout de Windows Terminal à PATH.
  • Ouvrez la ligne de commande dans le dossier actuel dans Windows Terminal.

Ce serait aussi bien s'il pouvait être ouvert avec une commande courte.
L'exécutable s'appelle actuellement WindowsTerminal . Ce serait bien si nous pouvions simplement taper quelque chose comme term .

Resolution-Answered

Commentaire le plus utile

À partir de la version 0.5, cela ne fonctionnera plus. Vous devrez définir "startingDirectory": null pour que cela fonctionne réellement. Ce correctif a régressé involontairement dans #2515.

Tous les 43 commentaires

Que se passe-t-il si vous utilisez wt.exe ?

https://github.com/microsoft/Terminal/blob/af7316c130059ba15fe16ff0d13608d956a2b449/src/cascadia/CascadiaPackage/Package.appxmanifest#L51

L'alias devrait déjà lancer un WindowsTerminal, mais je ne sais pas s'il se lance dans le chemin que vous spécifiez

@joandrsn C'est super, je ne savais pas. Merci.

@joandrsn Merci ! Il se lance même dans le répertoire courant !

Comment passer un chemin de répertoire à wt.exe. Quelque chose comme ça:

wt.exe "C:\GitHub"

Essayé mais s'ouvre toujours dans le dossier par défaut pour CMD et PowerShell.

Je peux ouvrir le shell WSL Ubuntu dans le dossier actuel avec ubuntu run . mais wt s'ouvre toujours dans le dossier par défaut

Supprimez startingDirectory de votre profile.json.

Bonjour @DHowett-MSFT,
existe-t-il un moyen de demander à Windows Terminal ouvrir un nouvel onglet dans le même dossier que l'onglet actuel ? Je veux le même comportement que sur Mac OS X : https://apple.stackexchange.com/questions/178017/how-do-i-open-a-new-terminal-window-for-same-directory -comme-la-fenêtre-courante.
Merci d'avance!

Supprimez startingDirectory de votre profile.json.

@DHowett-MSFT, cela ne fonctionne pas dans la dernière version 0.5.2661.0 :(

Supprimez startingDirectory de votre profile.json.

Pour moi, ça ne marche pas non plus :(

À partir de la version 0.5, cela ne fonctionnera plus. Vous devrez définir "startingDirectory": null pour que cela fonctionne réellement. Ce correctif a régressé involontairement dans #2515.

J'aimerais aussi ouvrir de nouveaux onglets dans le répertoire actuel

À partir de la version 0.5, cela ne fonctionnera plus. Vous devrez définir "startingDirectory": null pour que cela fonctionne réellement. Ce correctif a régressé involontairement dans #2515.

@zadjii-msft , cela ne fonctionne pas dans la v0.5.2681.0

À partir de la version 0.5, cela ne fonctionnera plus. Vous devrez définir "startingDirectory": null pour que cela fonctionne réellement. Ce correctif a régressé involontairement dans #2515.

Ne fonctionne pas non plus avec 0.5.2762.0.
J'ai essayé de supprimer la valeur, en définissant sur null .. les deux ne changent rien ..

Pour être clair, _supprimer startingDirectory au lieu de le définir sur null _ n'est pas une fonctionnalité qui revient ; nous examinons des approches alternatives concernant le moment exact où appliquer le répertoire de démarrage, mais le paramètre pourra toujours être supprimé en le définissant sur null.

À partir de la version 0.5, cela ne fonctionnera plus. Vous devrez définir "startingDirectory": null pour que cela fonctionne réellement. Ce correctif a régressé involontairement dans #2515.

Ne fonctionne pas non plus avec 0.5.2762.0.
J'ai essayé de supprimer la valeur, en définissant sur null .. les deux ne changent rien ..

"startingDirectory": null fonctionne pour moi - il doit être placé sous un profil spécifique, plutôt que d'être un élément de niveau racine

@DHowett-MSFT il me semble qu'une approche consistant à avoir des paramètres dans un fichier de configuration ( startingDirectory ) qui peuvent être remplacés en passant des paramètres de ligne de commande est assez courante en général. Peut-être que je ne comprends pas le problème ici :)

Si je me souviens de la conversation du mois dernier, c'était :

Effacer le paramètre "startingDirectory" en le supprimant de votre profil utilisateur (dans le cas spécifique des deux ou trois profils livrés par défaut), au lieu de le définir sur null pour l'effacer, n'est pas une fonctionnalité qui sera revenir.

607 spécifie que nous prendrons en charge les arguments de ligne de commande, dont l'un sera le remplacement du répertoire de départ.

Cela semble être conforme à ma compréhension de votre compréhension de cette conversation. :le sourire:

Pour moi, paramètre "startingDirectory": "." Fait le travail.

y a-t-il un autre problème pour que le terminal par défaut soit ouvert pour dire "%USERPROFILE%" mais null s'il est lancé à partir de l'explorateur Windows ?

@carlinmack Je ne pense pas que ce soit tout à fait nécessaire.

  • Le terminal Windows utilise par défaut le répertoire de base de l'utilisateur si vous le lancez via le raccourci du menu Démarrer ou en tapant "wt" dans Win + R. Ce qui signifie que si vous utilisez "startingDirectory": "." ils s'ouvrent toujours dans le dossier de départ de l'utilisateur ( %USERPROFILE% ).
  • Si vous lancez wt à partir de la barre d'adresse de l'explorateur Windows, ou via quelque chose comme cmd.exe (ou un autre shell) navigué vers un certain dossier, alors le "startingDirectory": "." garantira que le terminal Windows s'ouvre dans le répertoire dans lequel vous étiez.
  • Cependant... Tous les onglets supplémentaires que vous ouvrez dans la session Windows Terminal s'ouvriront dans le "répertoire de travail actuel" à partir du moment du lancement, ce qui peut être un désagrément mineur.

Le terminal Windows utilise par défaut le répertoire de base de l'utilisateur si vous le lancez via le raccourci du menu Démarrer ou en tapant "wt" dans Win + R. Ce qui signifie que si vous utilisez "startingDirectory": "." ils s'ouvrent toujours dans le dossier de départ de l'utilisateur (%USERPROFILE%).

La valeur par défaut est system32 dans ce cas pour moi.

Merci @torpederos

"startingDirectory": " . "
"startingDirectory": "% __ CD __ %"

Vérifié. Les deux fonctionnent bien pour moi. Ma solution .

@RickStrahl a écrit un bon blog sur ce problème. Vérifiez-le .

Dans mon cas, cela a fonctionné.

"profiles":
    {
        "defaults":
        {
            "startingDirectory": "."
        },

"startingDirectory": "." fonctionne mais lorsque j'ouvre le terminal à partir de la recherche, la valeur par défaut est system32.
Existe-t-il un moyen d'ouvrir dans le répertoire utilisateur lorsque le chemin n'est pas spécifié ?

"startingDirectory": "." fonctionne mais lorsque j'ouvre le terminal à partir de la recherche, la valeur par défaut est system32.
Existe-t-il un moyen d'ouvrir dans le répertoire utilisateur lorsque le chemin n'est pas spécifié ?

J'ai eu le même problème. Je l'ai corrigé en ajoutant la ligne suivante à la fin de mon fichier .bashrc.

export CURR_DIRECTORY=`pwd`
if [ "$CURR_DIRECTORY" = "/mnt/c/WINDOWS/system32" ]; then
    cd ~
fi

La solution de @manishprivet était géniale, sauf que pour fonctionner correctement, j'ai changé le system32 en System32 . C'est une bonne idée d'exécuter pwd et de copier la sortie.

J'ai trouvé une solution de contournement en ajoutant "ouvrir le terminal ici" pour faire un clic droit.

étape 1:-
Supprimez le répertoire de démarrage du settings.json pour tous les profils.

étape 2:-
Ajoutez le terminal ouvert pour faire un clic droit en fonction de ce post.
https://github.com/microsoft/terminal/issues/1060#issuecomment -497539461
J'ai changé la 2ème valeur du registre de @="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe" à @="C:\Users\[your username]\AppData\Local\Microsoft\WindowsApps\wt.exe -d ."

Comportement après modifications :
Ainsi, chaque fois que j'ouvre un terminal en utilisant la recherche/la barre des tâches/le raccourci, il s'ouvre dans mon dossier utilisateur.
Chaque fois que je veux ouvrir le terminal à l'aide de l'explorateur, je fais un clic droit et je sélectionne l'option Windows terminal here .

Note 1 : N'oubliez pas d'ajouter -d . à la fin de la deuxième valeur de registre, sinon, cela ne fonctionnera pas.

Remarque 2: Taper wt dans la barre d'exploration ouvre toujours le terminal dans system32. Vous devez toujours taper wt -d . si vous souhaitez ouvrir le terminal dans le dossier actuel à l'aide de la "barre d'exploration".

Il suffit d'ajouter

"startingDirectory": null

Il fonctionne correctement avec wt V1.0.

Si vous préférez afficher wt dans le menu SHIFT comme "Ouvrir la fenêtre PowerShell ici" ou ouvrir les options WSL, vous pouvez fusionner ce fichier de registre dans votre registre.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Open Windows Terminal here"
"ShowBasedOnVelocityId"=dword:00639bc8
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\[YourUserName]\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"

Veuillez noter que le paramètre startingDirectory doit être placé à cet endroit dans la structure JSON :

{
    //...

    "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.

            // Attempt to start in current directory
            // https://github.com/microsoft/terminal/issues/620
            "startingDirectory": "."
        }
    }
}

Je n'ai pas encore vu de solution qui fera ce qui suit :

  1. Permettez-moi de sélectionner un répertoire par défaut lorsque j'ouvre Terminal à partir du menu Démarrer.
  2. Lors de l'exécution de wt.exe à partir de la fenêtre de l'explorateur, le terminal ouvrira dans ce répertoire.

Est-ce possible?

D'après mon enquête , ce n'était pas quelque chose qui était techniquement possible.

Si vous voulez que les deux fonctionnent, vous devrez utiliser wt -d . dans la barre d'adresse de l'explorateur. Cela permettra au lancement du terminal à partir du menu Démarrer et à la boîte d'exécution de fonctionner de la même manière qu'auparavant, et vous permettra toujours d'ouvrir le terminal dans le CWD dans l'explorateur

De mon exploration initiale, voici ce que j'ai trouvé sur la base de https://docs.microsoft.com/en-us/windows/terminal/command-line-arguments?tabs=windows

Approche 1 :

  1. Appuyez sur la touche WIN + R
  2. Tapez wt -d D:\SomeDirectory

Cela ouvrira le shell par défaut présent dans settings.json avec ce répertoire
PS Choisissez le chemin en fonction du système d'exploitation du shell par défaut

Approche 2 :

  1. Accédez au dossier souhaité à l'aide de l'explorateur de fichiers
  2. Dans la barre d'adresse du dossier souhaité Tapez wt -d .

@AndeYashwanth Cela fonctionne parfaitement, merci. Maintenant, je peux l'ouvrir dans mon répertoire utilisateur à partir de la barre des tâches et ne l'ouvrir que dans le répertoire actuel lorsque je clique avec le bouton droit 😎

Merci @29kartik approche 1 a fonctionné pour moi. J'ai pu faire en sorte que GitKraken utilise une commande de terminal personnalisée de wt -d %d afin que maintenant son raccourci de terminal lance WT dans le répertoire du référentiel actuel. ??

J'ai ajouté ceci pour ouvrir dans ce dossier spécifique

 "startingDirectory": "C:\\webdev"

Voici mon point de vue via le raccourci du menu contextuel : https://gist.github.com/kmantel/9cd6bf9f0fb25694a5b08119817281b7

@nickraphael :

Je n'ai pas encore vu de solution qui fera ce qui suit :

  1. Permettez-moi de sélectionner un répertoire par défaut lorsque j'ouvre Terminal à partir du menu Démarrer.
  2. Lors de l'exécution de wt.exe à partir de la fenêtre de l'explorateur, le terminal ouvrira dans ce répertoire.

Avoir ça dans settings.json :

{
    "profiles": {
        "defaults": {
            "startingDirectory": "."
        }
    }
}

fait démarrer Windows Terminal dans le répertoire actuel pour moi lorsqu'il est lancé à partir de la zone d'emplacement de l'Explorateur, de win + r ou d'autres programmes (code VS, etc.). Cependant, lorsque vous démarrez à partir du menu Démarrer, que ce soit en recherchant ou en naviguant vers le raccourci, il démarre dans C:\WINDOWS\system32 .

Pour résoudre le problème du menu Démarrer, j'ai épinglé un raccourci vers wt.exe dans le menu Démarrer ( where wt indique son emplacement), j'ai renommé le raccourci à mon goût, puis je l'ai modifié pour avoir :

Start in: %USERPROFILE%

Maintenant, Windows Terminal démarre dans mon répertoire personnel lorsqu'il est lancé à partir du menu Démarrer.

Ce serait bien si Windows Terminal ne changeait pas son répertoire par défaut pour le rendre plus transparent. Il n'y a pas beaucoup d'autres programmes qui font ça.

Je me demande également si le raccourci vers wt.exe pourrait être créé automatiquement par l'installateur.

Ainsi, aucune des réponses ci-dessus n'a fonctionné pour mon cas d'utilisation. Ce que j'aimerais faire, c'est ouvrir un nouvel onglet en utilisant alt+shift+- et conserver le dossier précédent. J'ai essayé d'utiliser null , "." et "%__CD__%" comme valeurs pour "startingDirectory" à différents endroits du JSON. J'utilise la version 1.4.2652.0 de Windows Terminal Preview.

Une bonne solution serait d'avoir une nouvelle option comme "keepCurrentDirectoryOnNewTab": true ou quelque chose comme ça. Un autre moyen (que Kitty utilise) consiste à avoir une valeur spéciale appelée current lors de la spécification du répertoire.

@frankitox Vous êtes probablement intéressé par #3158 et les 20 problèmes similaires qui sont dupés à ce fil
image

Il y a eu toute une discussion sur les raisons pour lesquelles cela est difficile ou presque impossible à faire correctement sur Windows.

VERSION : 1.3.2651.0

dans mon cas ça marche.

    "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.
            "startingDirectory": "."
        },

aussi, vous pouvez utiliser "startingDirectory": "%__CD__%"

Je suis probablement très en retard à la fête, mais dans Windows 10 Pro 20H2, vous pouvez simplement taper wt dans la barre d'adresse et cela fera l'affaire.

Comment passer un chemin de répertoire à wt.exe. Quelque chose comme ça:

wt.exe "C:\GitHub"

Je ne sais pas si vous avez trouvé -d et chemin

wt -d .

fonctionne bien en WSL2

Cette page vous a été utile?
0 / 5 - 0 notes