microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
162.88k stars 28.75k forks source link

Request feature "Integrated terminal" #143

Closed kkdai closed 8 years ago

kkdai commented 8 years ago

It would be great if vscode has integrated terminal feature refer vim or atom https://atom.io/packages/term3

I saw this suggestion pending in uservoice(https://visualstudio.uservoice.com/forums/293070-visual-studio-code/suggestions/7752357-integrated-terminal) and repost here since it has specific repo

meritozh commented 8 years ago

+1. term3 can't support zsh well, and it will make atom slowly. Hope vscode can solve it.

Alsmile commented 8 years ago

+1

Alsmile commented 8 years ago

+1

codewithtyler commented 8 years ago

+1

joaomoreno commented 8 years ago

Personally I think this is a bad idea. Making the editor a kitchen sink is how we will make it slow and bloated. Besides, the amount of work necessary to get on par with just the basic features of excellent terminals out there (e.g. iTerm2, ConEmu) would be huge.

I know not everyone runs OS X but check out my setup below. I'm using El Capitan's full screen features to place VS Code side by side with iTerm2. I am super happy with it.

image

meritozh commented 8 years ago

@joaomoreno but some people want coding, and just use CLT when deploy app. Maybe you can make a extension like term3, then the native version of VSCode won't run slowly.

joaomoreno commented 8 years ago

That is an opportunity for an extension: deployment commands!

meritozh commented 8 years ago

Yes, you're right. By the way, why i can't search in extension market?

ashw1984 commented 8 years ago

+1

animator013 commented 8 years ago

+1

adrian-castravete commented 8 years ago

:+1:

nhack commented 8 years ago

is there an extension that offers a terminal? anyhow +1

edgariscoding commented 8 years ago

+1

TemaSM commented 8 years ago

+1 For built in or as extension

maximpashuk commented 8 years ago

+1 also

Widcket commented 8 years ago

+1 for built in, as in the CodeRunner mac app

jagreehal commented 8 years ago

+1

leonardosnt commented 8 years ago

+1

aaronoah commented 8 years ago

Yah, definitely need it! +1

opsnull commented 8 years ago

+1

rosskhanas commented 8 years ago

+1

vanshady commented 8 years ago

+1

pflannery commented 8 years ago

As an extension I agree but not integrated in to the editor itself. Ultimately I would like to see a terminal extension that gives multi terminal capabilities like web storm does.

I think the goal should be to get vscode extensible enough that someone can do extensions like this. i.e. able to add\extend panels with tabs\sidebars etc..

I find ctrl+shift+c is doing the job ok for now (minus the part that I cant choose which terminal program it launches)

stylemistake commented 8 years ago

I find ctrl+shift+c is doing the job ok for now (minus the part that I cant choose which terminal program it launches)

@pflannery That's a problem too, and I think it should be solved in first place. In Xfce there is no gnome-terminal, and I could be probably using better terminals even on Windows/OSX (hypothetically), so having a config option to select which terminal I want to launch would be good enough for me. Built-in terminal = reinventing the wheel.

pflannery commented 8 years ago

@stylemistake your right, basic terminal launching should work on linux. Could be worth raising an separate issue if not already done so. I have a PR for using better terminals but it's only for windows so far. PR #3495.

ghost commented 8 years ago

+1

chevcast commented 8 years ago

I'm actually fine with the terminal being separate by default. How hard would it be to make an extension that adds this though? That would be awesome.

ghost commented 8 years ago

+1

pflannery commented 8 years ago

@stylemistake I couldn't launch the terminal on Fedora 23 too so I've now added custom configuration settings for linux in PR #3495.

ghost commented 8 years ago

A terminal would be great as an extension. One of the key things I love about VSC is its simplicity.

wclr commented 8 years ago

+1 it would be also nice to have ouput of docker containers onput related to current opened project code inside the editor, I think with terminal extension it could be achievable.

RoyTinker commented 8 years ago

If Windows had a great terminal and shell, would this be an issue?

I suspect those who posted above saying "I don't need this" might be Mac and Linux users :-)

pflannery commented 8 years ago

@TimTheTinker it is possible on windows to vertically split a console (of choice) with most apps (including vscode) using conemu on windows

image

I personally use Windows 10 but don't really need an integrated terminal. ctrl+shift+c is currently my preference

rosskhanas commented 8 years ago

Sometimes I need to open several windows of my IDE with different project and instances of terminal. Having a lot of additional instances of terminal and set a proper path for each of them is a wasting time. Manually position OS terminals(Linux and Mac) is also wasting time compare to simple Ctrl+F12 switching on/off, for example. Not everyone got used to that, so it can be as a separated package, but it should definitely be there.

RoyTinker commented 8 years ago

@pflannery - interesting, thanks for sharing. Conemu notwithstanding, I wonder if the above feature requesters are all on Windows, and if so, whether they would be content without a VSCode-integrated terminal if (the UX equivalents of) iTerm2 and gnu bash were available on Windows.

pflannery commented 8 years ago

@rtkhanas You can do all of that now on Windows when running vscode inside conemu it lets you spawn multiple tabbed terminals along with multiple vscode ide's. Then using the Open in Command Prompt command from inside vscode spawns a new tabbed terminal at the current directory of the vscode project.

@TimTheTinker

I wonder if the above feature requesters are all on Windows, and if so, whether they would be content without a VSCode-integrated terminal if (the UX equivalents of) iTerm2 and gnu bash were available on Windows

Probably. Gnu bash is also available on Windows though not sure how close this comes to the gnu bash that you use. I've not really used iTerm2 I will have to try it out. When I used Dolphin on kde plasma 5 I was very impressed with how the explorer and terminal can be combined together, they even change directory with one another which is super cool.

Would be nice if people that up vote this feature also mention their OS as there could be alternatives that can be used whilst waiting for this extension.

rosskhanas commented 8 years ago

@pflannery I use Mac, not sure there are similar tools for that. Maybe there are, but there are always alternative solutions. However, this one is simple, without installing additional software, specific for each platform.

I think everyone will be satisfied if this feature will look like an additional package.

wclr commented 8 years ago

It is needed to have console per open project basic, I have alwasy several projects open and find such terminal in JetBrains webstorm I would say indispensable: image

You may always have several tasks runining related to project (backend server, front dev server, builder/watcher, etc) and it is nice to have it in one window tight together.

dellheng commented 8 years ago

+1

Toyetop commented 8 years ago

+1

besser commented 8 years ago

An extension like Terminal Plus would be awesome too! https://atom.io/packages/terminal-plus

RoyTinker commented 8 years ago

In light of yesterday's announcement (!!!!!!!!!!!) I suspect this thread is nearly a moot point :-)

leahparsuidualc-zz commented 8 years ago

+1 --- just spinning thoughts:

as i (hopefully) understand VS-Code itself is web-based in its internal structure and presentation abilities; if so, to have the opportunity to gain the max out of it:

-- using the parsing- | intellisense- -mechanisms to format and control the input in forefront, then send it (via ssh for example) to the virtual appliance; i think of the possibility of giving the control over the accessed terminal | cli to VS Code without touching the appliance itself; Therefore it would be needed to use VS Code definitions, to handle the (possible|wished) ways of communicating with the terminal without knowledge of the setup itself | changing the appliance at all, which makes it universal | and spend the ability to change the terminal at any given point, by just exchanging the needed appliance / switching to the one of many needed for a specific part in a project;

-- another advantage would be gaining manageable compatibility setups for specific branches | stages as the needed appliances would be defined in the project, not in the needed appliance itself;and if a function | binding | add-on really is needed in that specific terminal to deliver the functionality needed, it could be also defined by scripts specific to these terminals, but stored and managed in | via VS Code;

Well, i hope one can follow; It's truly no new perspective | handling it's just programmatical remote access in near-real-time and dependencies defined in a project in VS Code, to have ONE LOCATION to define the controlling mechanisms and start | stop the needed appliances, with their specific virtual network setup and bindings, for example.

However, the most simple form of that scenario would be to 'blend' a remote-access-output of a locally installed application via OS-internal-functions into the interface of VS Code, or do the whole fully-remote-handling of a virtual-network-stack, whereas the possibility of combining diverse operators would be given ( not just one or more VBOX instances or VMWARE or RDP or whatever, but a MASH-UP | MESH-APP defined in ONE PLACE AND PROJECT, OS- and APP-independent.

I think it's possible to realize such a feature without much effort if a group of specialists for the needed use-cases can merge in teams to provide json-based setup-templates; The controller itself would and should be realized in VS Code, specific to this editor (which really needs a pure 64-bit-edition on linux-based-gnu-os's, just to mention it ;) )

Just my 2 or more cents on that topic ...

Thanks for your interest.

claudiusraphael

leahparsuidualc-zz commented 8 years ago

P.s.: My hidden aim on that topic is gaining a All-in-one--Solution, that can be used on top of Core-Server | Hyper-V-Server installs for a complete windows-based aio-fully-virtualized-collaborative-and-single-developer-project-editing-suite a.k.a VS Code, for all those that like to use bare metal and cost-free solutions with minimal security implications and guaranteed-operability independent of on- or off-line- -usage;

Also it opens the way, to use IoT Windows and for example docker-based e.g.: for use on Ubuntu snappy-core -implementations, that can be realized in a single package as defined by project for added participators or specific to kind | type of collaboration objective.

Well yeah, times i am i bit futuristic in my wishes, it's just ... it is already possible :)

sociojs commented 8 years ago

+1

matipan commented 8 years ago

+1

CumpsD commented 8 years ago

Would love to see an integrated prompt as an extension, would save ALT+TAB :)

dmitriyparasochka commented 8 years ago

+1

wowse commented 8 years ago

+1, hopefully PSReadline support.

skuzmin commented 8 years ago

+1