Woher weiß ein Terminal, dass es in vscode ausgeführt wird?

Woher weiß ein Terminal, dass es in vscode ausgeführt wird?

Ich möchte im vscode-Terminal und im Standalone-Terminal unterschiedliche Einstellungen haben. Gibt es eine Möglichkeit, dem Terminal selbst mitzuteilen, ob es in vscode oder im Standalone-Terminal ausgeführt wird?

Antwort1

Wie in den Kommentaren angegeben, können Sie überprüfen, ob die TERM_PROGRAMUmgebungsvariable auf gesetzt ist vscode.

Es gibt auch eine TERM_PROGRAM_VERSIONVariable, wenn Sie die VS Code-Version überprüfen möchten.

Den Quellcode, der diese Variable initialisiert, finden SieHierin addTerminalEnvironmentKeysterminalEnvironment.ts.

Sie finden einige Beispiele in der eigenen Codebasis von VS Code, wo die Variable überprüft wird, um zu bestimmen, ob die Shell-Integrationsskripte ausgeführt werden sollen oder nicht.Hier, und auch indie Dokumentation zum manuellen Ausführen dieser Skripte.

Ich glaube nicht, TERM_PROGRAMdass es durch breitere Standards definiert ist. Es scheint nur eine Funktion zu sein, die viele Terminalemulatoren vereinbarungsgemäß implementieren.

verwandte Informationen