13 ms·
Windows Terminal Preview 0.9
- LennyWhiteJr 7y agoBravo. Aside from WSL, Windows Terminal is probably the best developer tool Microsoft has come out with in quite a while. I've finally been able to retire my Cmder installation.
- ProNeo 7y agoHow about VSCode?
- sheeshkebab 7y agoWe’re talking command line here, not javacript gui
- airstrike 7y agoCan't retire cmder until I can hide tabs and have some padding around the edges... https://i.stack.imgur.com/ASKAX.png https://i.stack.imgur.com/ASKAX.png
- matthberg 7y agoPadding is already a feature I do believe, you can set it per profile with the following: "padding": "10, 10, 10, 10" I have it set to all 0s since it interferes with the emacs background color setting, so it might need a unit in there too.
- fuzzmz 7y agoCan you share your config for that?
- airstrike 7y agoSure, here you go: https://pastebin.com/qJBRFb3V https://pastebin.com/qJBRFb3V Let me know if it works. Probably has a bunch of junk you won't need (like various custom color palettes I played around with). I may or may not have edited other .cmd files outside of the ConEmu.xml realm so that may warrant some tweaking too And you'll need the Monaco Font (and Ubuntu Mono for the lambda) for it to look exactly the same
- vips7L 7y agoPowershell is amazing if you give it a chance.
- jeen02 7y agoIf you want to write an essay every time you want to execute a simple command.
- rzmnzm 7y agothat's what tab complete is for
- BoiledCabbage 7y agoOr just use the aliases... https://ilovepowershell.com/2011/11/03/list-of-top-powershell-alias/ https://ilovepowershell.com/2011/11/03/list-of-top-powershel...
- btgeekboy 7y agoI’ve recently taken to trying an Ubuntu Hyper-V VM, VS Code, and the new Terminal preview as an experimentation platform for use with Expo. It’s solid. The hardware (Ryzen 3700X+32G) was relatively cheap, and it’s working quite well. If I was Apple, I’d be concerned - I was going to upgrade my 2012 Mac Mini, but I now don’t see the rush.
- bitcrazed 7y agoAs a matter of interest, have you tried WSL? It's a much more integrated experience than the isolated VM approach.
- btgeekboy 7y agoWSL 1 and Expo don’t play nice with each other; Expo was causing ephemeral port exhaustion and making both Windows and Linux unusable. WSL 2 should fix, but I don’t want to jump to an insider build quite yet. https://github.com/Microsoft/WSL/issues/2913 https://github.com/Microsoft/WSL/issues/2913
- tbolt 7y agoOther than some pains to get it all setup, it’s actually a fairly pleasant experience doing web development on Windows now. Edge (chromium), VSCode, WSL (Ubuntu), and Windows Terminal all feel pretty good. Plus this was setup on my otherwise dedicated “gaming pc” with an i7 9700k and fast ram/storage so it’s nice being able to use all that power
- alexdumitru 7y agoI've started using hyper yesterday and it seems much more polished than this.
- rjzzleep 7y agoIt does look like it, but isn't it based on electron? Personally I like this, but all the environments I've had to use windows on can't use this because they use an ancient windows LTS release. In an enterprise setting where I mostly see windows I always end up having to use a linux VM. Actually in those environments I've had success using Electron[1]. But well, that's electron... [1] https://eugeny.github.io/terminus/ https://eugeny.github.io/terminus/
- deleted 7y ago[deleted]
- cercatrova 7y agoHyper is quite slow, isn't it? It definitely was when I tried it.
- kingosticks 7y agoIt's really slow if you spool a lot of output. It's unusable for me for that reason.
- cageface 7y agoWhat were the pain points getting it set up? Is this frontend or backend web dev?
- 7y ago
- rstat1 7y agoSo this release is exciting for me, because it contains my first ever open source contribution, in the form of a setting that allows one to disable that annoying dialog box that pops up when you close a window with multiple open tabs.
- tbolt 7y agoThank you! That is very annoying.
- jayofdoom 7y agoThis is always so exciting! Congratulations.
- lostmsu 7y agoWhat's the setting?
- mkl 7y agoIt's described in the article: > set "confirmCloseAllTabs" to true at the top of your profiles.json file
- KORraN 7y agoIs it just me or it should be the other way around - set it to "false" so confirmation is not required?
- breakingcups 7y agoThe name is somewhat ambiguous. Does it mean to ask the user to "confirmCloseAllTabs"? Or does it mean the act of the user setting the value of this setting to true means to "confirmCloseAllTabs"? I find your interpretation slightly preferable over what was actually implemented in this case.
- KORraN 7y ago
- netfl0 7y agoNo mouse support still? Am I wrong?
- aksss 7y agoI can highlight text with mouse, right-click to copy it and then right-click again to paste it. Ctrl-V, C don't work out of box. Gestures on track pad don't scroll. What else are you missing?
- nickjj 7y agoMouse events still don't pass through to tmux which makes it unusable in every day usage. In other words, if you use tmux and have Vim open and try to click into Vim or any tmux window, nothing happens. This also happens without tmux too if you're just using terminal Vim. It's like the event gets absorbed and thrown out. I highly recommend to check out WSLtty if you're interested in a good WSL terminal: https://github.com/mintty/wsltty https://github.com/mintty/wsltty It has equally as low input latency, really good keyboard shortcut support, clickable URLs, tmux works perfectly (with and without the mouse), it's rock solid, uses almost no resources, has smaller / less distracting window borders vs MS' terminal and it has lots of themes. I've been using it for full time development with tmux + terminal Vim for almost a year now and it hasn't failed me yet.
- zamadatix 7y agoThey just started working on this https://github.com/microsoft/terminal/issues/376 https://github.com/microsoft/terminal/issues/376 I don't think it'll make it for 1.0 as they are doing a new feature freeze.
- nickjj 7y agoThat's unfortunate because it was reported many many preview versions ago by multiple people and that issue you linked is from a year ago. I wish they would hire the dude who makes WSLtty. It feels like the MS team doesn't want to address the really important things that make a terminal optimal for full time development. It's like they spent 3 years creating a tabbed interface and supporting icon emojis but ignored other critical features for so long (for the longest time you couldn't even zoom in and out with a hotkey).
- austdi 7y agoWith respect, emoji support and tabs were the most requested features for years according to the uservoice page that tracked the public feature requests. I no longer work on the project but that team is filled with some of the most passionate and dedicated people you could find to shepherd the console from where it was to now. We collectively lived and breathed the console, yet the team was always understaffed and almost always had at least one dev that was pulled off by management to work on what was believed to be a higher priority project. Implementing the emoji support took me years and that doesn't even count the rendering of them, just the ability to shuttle them through the internals and back. Tabs as well required quite a bit of work behind the scenes, there was an entire blog series written on the work that led up to tabs being possible.
- rbanffy 7y agoIf it does SGR 53 overline, with tmux 3 it'll be able to have some really nice status lines.
- ddevault 7y agoAh, yes, the only terminal emulator which phones home to Microsoft to let them know what you've been doing with it. Or you could just, you know, actually use Linux or BSD.
- bootlooped 7y agoMy work dictates that I use an issued Thinkpad or a Macbook Pro, and we are not allowed to install our own OS choices on those. I like the Thinkpads they give us more, especially since the Macs have the widely reviled touch bar. WSL and the new Windows Terminal have been great tools for me.
- oneplane 7y agoJust a reminder: your work is wrong. The idea behind is that they have 'supported configurations' where 'supported' often means 'trying to reduce service desk load' and 'pretending that imaging a system once and then hoping the lifecycle on all of them is the same'. In reality that is almost never the case (unless the systems are reduced to barely usable configurations), and you end up with a system that is only 'work-supportable' on the surface, while being a pain for everyone else. Some of the recent changes I've seen happening at an increasing scale is having practical support levels: - fully-managed - half-managed - BOYO (Being on your own) This is then applied to both company-delivered systems as well as BYOD systems. Combined with standard interrogation tools like osquery you can get a much better picture of what is happening and what level of compliance you can measure. Instead of them implicitly trusting or hoping a device is okay you actually get to measure it. This enables a BOYO-BYOD BSD fanboy to present themselves as being in-spec and compliant while being in their own comfortable environment for maximum productivity. At the same time, someone who has a hard time figuring out how to turn a laptop on just goes for fully-managed, still gets measured periodically and on-access and gets a generic experience allowing normal-people productivity.
- seabrookmx 7y agoIt's open source. You mind pointing out in the code where it "phones home to Microsoft to let them know what you've been doing with it"?
- CallMePK 7y agoNice. Command Line Arguments part is great for opening tabs for the demo use
- justlexi93 7y agoIs terminal a replacement for cmd? Or will there now be 3 variants of a command line tool? - cmd - terminal - powershell Or is cmd = terminal?
- russellbeattie 7y agoI've read all of the blog posts about the Windows Command Line [1] and the following posts and it still boggles my mind how long it's taking Microsoft to overhaul their command line and create a decent terminal emulator. They're on year 6 of this effort, if you didn't know. I don't think people at MS are stupid or anything - I obviously have no idea of the real complexity underpinning this stuff. But holy cow. This is a problem that's long been solved on other platforms and it just seems ludicrous. 1. https://devblogs.microsoft.com/commandline/windows-command-line-backgrounder/ https://devblogs.microsoft.com/commandline/windows-command-l...
- OptionX 7y agoThe team on it is rather small. I think M$ takes it as a side project more than a new feature for the OS. But I agree with you, should've been done ages ago. When they first put out powershell, for example, would've made sense.
- austdi 7y agoThe team is incredibly small compared to other teams. 2-4 devs at a time, roughly a tenth of those on powershell. Much of the difficulty of the project came from the lack of resources yes, but also the age of the codebase. It was originally written in the 1980s (before most of the dev team was born) and the original authors had long since left the company by the time the mothballs were dusted off. The team also owned other codebases that time had to be split between. Maintaining compatibility and performance were two of the main unbreakable tenets of the team (and Windows in general). This made it difficult to move quickly with features right out of the gate. A few of those years were spent understanding the system and modernizing the code from crufty C to C++17, while still managing to add features. One of the first dev tasks I heard about when I became exposed to the project was of a dev mapping out all of the PVOIDs in the codebase so they could be eventually replaced with better abstractions. Another fun one was a different dev that refactored the GDI rendering, as a side project squeezed in around other tasks. The new renderer ended up being much faster and ~7000 lines shorter, if I remember right. We also took CJK language support quite seriously, which was difficult as none of the devs could read one of those languages day to day to catch bugs quickly.
- navidr 7y agoWaiting for final release of this (and wsl 2) to switch to Windows from my Linux.
- recursive 7y agoMaybe someone here can help. I have a major usability problem with this. It actually seems to be a regression from cmd.exe. I often like to run `cls; build -with -long -output;`. And then I scroll to the top to see the first build error. With this, when you issue a clear, it only blanks the visible viewport, and you can still scroll back through all the old stuff. https://github.com/microsoft/terminal/issues/1305 https://github.com/microsoft/terminal/issues/1305 There's a lot of information here that's over my head about how this actually isn't a bug, and different pieces of trivia and history. But I still can't use it for my use case, which is a thing I do often.
- zenexer 7y agoIf you're using PowerShell Core, add the following to Documents\PowerShell\Profile.ps1. If you're using legacy PowerShell, add it to Documents\PowerShell\Microsoft.PowerShell_profile.ps1 instead. Remove-Alias cls function cls { echo "$([char]27)c" } A similar solution was provided in the GitHub issue that works on older versions of Windows Terminal.
- recursive 7y agoI don't know if I'm using "Legacy" Powershell. `(Get-Host).Version` reports 5.1.18362.145. I added your workaround to both .ps1 files. It doesn't change any behavior in any obvious way. Even if it did, it's still a work-around at best. If this actually worked, I can't imagine a reason this shouldn't be built in to the product. But I really don't think it works. Regardless of whether any of these profile scripts are taking effect, invoking `echo "$([char]27)c"` directly also doesn't clear the scroll history, so I doubt it would even work even if I could figure out how create a profile script. I did notice that there were a number of other proposed work-arounds in the github thread. Each one of them seems to have some feedback saying that it doesn't work. In my opinion, this is shortcoming of this product.
- zenexer 7y agoIt looks like others have already given you long explanations of why PowerShell works this way. Nevertheless, the behavior you're describing can still be desirable at times. In the future, the following will probably work: echo "$([char]27)[3J$([char]27)[H$([char]27)[2J" This matches the output from `tput clear` in WSL. However, as of writing, it's a bit quirky when combined with other PowerShell commands; for example, the following behaves oddly: ls; echo "$([char]27)[3J$([char]27)[H$([char]27)[2J"; ls Unfortunately, I don't have a good solution at the moment.
- tony 7y agoIt's faster than any Bash terminal I've tried so far on WSL. Tried ConEmu and Hyper. ConEmu glitches out for me on tmux. Hyper can be a bit slow, but is most accurate for me. I'm doing tmux + vim with 256 colors. So a lot of stuff has to come together and "just work" Windows Terminal over the past months fixed glitches. It's update-able via Windows Store. Oh, and the font "Cascadia Code" is one of my favorites. Very clean. Actually, I'm using it on Linux now in my terminal [1]. The other thing is Windows Terminal works great on a huge monitor, too. No lag when rendering. Feels lite. I compare its snappiness to rxvt-unicode. Faster than iTerm2. Just my perception, never benchmarked. And this goes along with WSL 2, which is worth reinstalling Win 10 for if you left because of WSL 1 problems. This stuff is fast. I can throw multiple multiple beefy node projects, python flask/django apps, building C++ projects, importing postgres DB (4gB import with a lot of indexes), all at the same time. [1] I dual boot still. There is a shortcut on Windows 10 minimizes all windows that I can't disable easily. It loses my workspace positioning and isn't recoverable. I hope this gets changed - it'd be a dream.
- zenexer 7y agoYou can probable disable Win + M with something like AutoHotkey, which you may already even have installed as a dependency. Alternative, if you're talking about Win + D, you can reverse it by pressing Win + D again.
- tony 7y agoHey thank you for bringing that up. I tried AutoHotkey for the firs time yesterday. Am I correct in saying a text file has to be edited to disable the key? What would it look like? I also heard about Win + D, which could be what I'm hitting a % of the time. Correct me if I'm wrong: but positioning any window after minimization (possibly including the bottom show-desktop / taskbar area) will make it so the window settings can't be reverse back? My dream scenario would be something in Windows 10 settings where shortcuts can be remapped (or disabled) one-by-one, without registry/group policies.
- zenexer 7y ago
- OptionX 7y agoGonna wait for the feature-complete release and try it out to see if I switch out to it from Cmder.
- petilon 7y agoI hate the Windows command prompt. Because when you have several of them open and they overlap each other, there is no way to tell where one window ends and the next one starts. The problem is the almost-invisible border. In Windows 10 they added fancy features such as translucence and took the border away, and to some people this may look beautiful, but for others it created a usability nightmare because overlapping windows just blend into each other.
- emmanueloga_ 7y agoI've been using the new terminal for a while now. I was missing emacs key bindings I thought it was because of the terminal. It turned out it just wasn't enabled on powershell: Set-PSReadLineOption -EditMode Emacs 1: https://stackoverflow.com/questions/43295639/update-powershell-keyboard-bindings-to-be-emacs-style-like-bash-shell https://stackoverflow.com/questions/43295639/update-powershe...
- vips7L 7y agoI would also suggest to set your tab completion to MenuCompletion.
- lukeschlather 7y agoThis is what I do to make my bash muscle memory happy: if ($host.Name -eq 'ConsoleHost') { Import-Module PSReadLine Set-PSReadLineOption -EditMode Emacs Set-PSReadLineKeyHandler -Key 'Ctrl+V' -Function Paste Set-PSReadLineKeyHandler -Key 'Ctrl+v' -Function Paste Set-PSReadLineKeyHandler -Key 'Ctrl+/' -Function Undo Set-PSReadLineKeyHandler -Key 'Ctrl+Backspace' -Function BackwardKillWord Set-PSReadLineKeyHandler -Key 'Ctrl+LeftArrow' -Function BackwardWord Set-PSReadLineKeyHandler -Key 'Ctrl+RightArrow' -Function ForwardWord }
- apetresc 7y ago> A new global setting has been created that allows you to always hide the “Close All Tabs” confirmation dialog. You can set "confirmCloseAllTabs" to true at the top of your profiles.json file and you’ll never see that popup again! Did they just phrase this backwards or is that the total opposite of what you'd expect?
- cercatrova 7y agoSounds right to me. "I confirm that I always want to close all tabs."
- hi41 7y agoI am glad I scrolled this far. I too had the same question in my mind and thought the config variable was confusing. But the way you phrased it made it clear. I originally read it as “show confirm-close-all-tabs dialog box”.
- jdance 7y agoI have rarely if ever ”confirmed” something in a config file. confirmFontSize = 12 ? Naming things is hard :)
- allthebestforus 7y agoWhen will MS Terminal get slashes pointing in the right direction?
- seabrookmx 7y agoAlready does if you use WSL :)
- nailer 7y agoAlso powershell happily lets you use slash, as god intended.
- xvilka 7y agoI hope they will add a proper BiDirectional[1] text support for languages like Arabic, Hebrew, etc. There is a prominent new standard for terminals[2] that should unify the support in the terminals and terminal programs. See the corresponding issue[3] in the Windows Terminal repository. [1] https://gist.github.com/XVilka/a0e49e1c65370ba11c17 https://gist.github.com/XVilka/a0e49e1c65370ba11c17 [2] https://terminal-wg.pages.freedesktop.org/bidi/ https://terminal-wg.pages.freedesktop.org/bidi/ [3] https://github.com/microsoft/terminal/issues/538 https://github.com/microsoft/terminal/issues/538
- cjamesd 7y agoSomebody fill me in. What is the strategic value to Microsoft of making their own terminal? Especially when there are apparently so many out there. Also, why are there are so many? I guess as a web dev I've always just accepted the basic terminal and it's been fine for me. Am I missing out?
- lenkite 7y agoStrategic value is turn developers from macOS back to windows and have better sales for windows laptops. The basic terminals on linux/macOS are fine. The basic CMD terminal on Windows is terrible and is NOT ok.
- cjamesd 7y agoI've done all my developing on a MacBook. This makes sense now. Thanks.
- devlife 7y agoLook at this wagon, honey. It has no horse. FFS.
- wnevets 7y agoI might finally ditch mintty that comes with Git for Windows
- imagiko 7y agoBeen trying to set a shortcut to move between panes of a tab. Anyone done this successfully?
- wiradikusuma 7y agoLast time I checked, long text wraps in the same line, and it's not even visual only (when you press Enter to run it, throws error bcoz the command is incomplete). Also, lines pasted from Sublime don't include newlines.
- kingosticks 7y agoIt been using this for about 3 months now and I'm actively looking for something else now. I ssh into beefy server machines to run all my actual jobs. * The biggest issue for me is that it's crashed 8 or 9 times. Most times when this happens I lose some long-running process I forgot to nohup. This is the first terminal I've had crash so regularly. There's also some link to the crashing and accessing it from remote desktop but I can't figure out the trigger. * The memory usage seems to really jump up sometimes, I have over 2GB being used right now between my usual 5 or 6 tabs ssh'ed into other machines. * It can get in a state where it pegs my cpu at 30%. I think this happens when it's spooling text faster than it can be output and it's trying to catch up. It doesn't happen all the time. * copying text. The option to automatic copy on selection (similar to what I'm used to from gnome-terminal) is frustrating. If you select text, change window focus and copy something else, then refocus the terminal it'll re-copy the originally selected text!
- Sammi 7y agoGit for Windows comes with the best terminal for Windows that I've found: https://gitforwindows.org/ https://gitforwindows.org/ I've tried ConEmu, Cmder, Cygwin, and Alacritty.
- kingosticks 7y agoWhich I presume is just Mintty (http://mintty.github.io/ http://mintty.github.io/) ?
- pastrami_panda 7y agoI've been using this for the past 6 months for git and enjoy it. I only have two gripes: linebreaks are broken e.g. when writing long commit messages, and there's still no way to do proper multi line commit messages. Hopefully this is solved now, will check on Monday!
- DHowett 7y agoFor what it's worth, Terminal doesn't do anything special with line breaks on shell prompts. PowerShell, however, might. If you're using powershell, you can escape newlines with `. If git bash, \. If CMD, I don't know what to tell you -- I don't use it for any serious work. :)