Terminal inside ATOM


#1

Dear Atom Team,

how can I set atom that ATOM Editor which includes Terminal Option Gui like Visual Studio Code or Code;Block IDE??

Warm regards,
Leslie


#2

There are a number of packages. I’ve used termination, myself. atom-terminal-tab also seems promising. Try multiple packages and see what fits your needs the best.


#3

That one does look interesting.
Sadly… I tried to install this on a “virgin” Windows 10 machine that has Atom. (Confession: Python 3 is installed.) Some bad news however.

Detail: Failed installation

node-pty@0.6.10 install C:\Users\Dan\AppData\Local\Temp\apm-install-dir-1171030-15904-1ij7ce0.zppxrvbo6r\node_modules\atom-terminal-tab\node_modules\node-pty
node scripts/install.js

C:\Users\Dan\AppData\Local\Temp\apm-install-dir-1171030-15904-1ij7ce0.zppxrvbo6r\node_modules\atom-terminal-tab\node_modules\node-pty>if not defined npm_config_node_gyp (node “C:\Users\Dan\AppData\Local\atom\app-1.22.1\resources\app\apm\node_modules\npm\bin\node-gyp-bin\…\node_modules\node-gyp\bin\node-gyp.js” rebuild ) else (node “C:\Users\Dan\AppData\Local\atom\app-1.22.1\resources\app\apm\bin\…\node_modules\node-gyp\bin\node-gyp.js” rebuild )
C:\Users\Dan\AppData\Local\Temp\apm-install-dir-1171030-15904-1ij7ce0.zppxrvbo6r
`-- (empty)

gyp ERR! configure error
gyp ERR! stack Error: Python executable “D:\Python36\python.EXE” is v3.6.3, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.
gyp ERR! stack at failPythonVersion (C:\Users\Dan\AppData\Local\atom\app-1.22.1\resources\app\apm\node_modules\node-gyp\lib\configure.js:454:14)
gyp ERR! stack at C:\Users\Dan\AppData\Local\atom\app-1.22.1\resources\app\apm\node_modules\node-gyp\lib\configure.js:443:9
gyp ERR! stack at ChildProcess.exithandler (child_process.js:197:7)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at maybeClose (internal/child_process.js:877:16)
gyp ERR! stack at Socket. (internal/child_process.js:334:11)
gyp ERR! stack at emitOne (events.js:96:13)
gyp ERR! stack at Socket.emit (events.js:188:7)
gyp ERR! stack at Pipe._handle.close [as _onclose] (net.js:498:12)
gyp ERR! System Windows_NT 10.0.14393
gyp ERR! command “C:\Users\Dan\AppData\Local\atom\app-1.22.1\resources\app\apm\bin\node.exe” “C:\Users\Dan\AppData\Local\atom\app-1.22.1\resources\app\apm\node_modules\node-gyp\bin\node-gyp.js” "rebuild"
gyp ERR! cwd C:\Users\Dan\AppData\Local\Temp\apm-install-dir-1171030-15904-1ij7ce0.zppxrvbo6r\node_modules\atom-terminal-tab\node_modules\node-pty
gyp ERR! node -v v6.9.5
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\Dan\AppData\Local\Temp\apm-install-dir-1171030-15904-1ij7ce0.zppxrvbo6r\package.json’
npm WARN apm-install-dir-1171030-15904-1ij7ce0.zppxrvbo6r No description
npm WARN apm-install-dir-1171030-15904-1ij7ce0.zppxrvbo6r No repository field.
npm WARN apm-install-dir-1171030-15904-1ij7ce0.zppxrvbo6r No README data
npm WARN apm-install-dir-1171030-15904-1ij7ce0.zppxrvbo6r No license field.
npm ERR! Windows_NT 10.0.14393
npm ERR! argv “C:\Users\Dan\AppData\Local\atom\app-1.22.1\resources\app\apm\bin\node.exe” “C:\Users\Dan\AppData\Local\atom\app-1.22.1\resources\app\apm\node_modules\npm\bin\npm-cli.js” “–globalconfig” “C:\Users\Dan\.atom\.apm\.apmrc” “–userconfig” “C:\Users\Dan\.atom\.apmrc” “install” “C:\Users\Dan\AppData\Local\Temp\d-1171030-15904-1dpcvyr.nit1sv2t9\package.tgz” “–runtime=electron” “–target=1.6.15” “–arch=x64” "–global-style"
npm ERR! node v6.9.5
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE

npm ERR! node-pty@0.6.10 install: node scripts/install.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-pty@0.6.10 install script ‘node scripts/install.js’.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the node-pty package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node scripts/install.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs node-pty
npm ERR! Or if that isn’t available, you can get their info via:
npm ERR! npm owner ls node-pty
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! C:\Users\Dan\AppData\Local\Temp\apm-install-dir-1171030-15904-1ij7ce0.zppxrvbo6r\npm-debug.log
npm ERR! code 1

If ever the Atom developers decide to have a terminal as part of the core - I hope they will take notice of this.

Regards.


@leslie - good luck.


#4

This is a known problem with the build tool – it requires Python 2. You can install Python 2 alongside Python 3, then you may need to set a variable in the npm or apm config.

I’ve been using platformio-ide-terminal for a terminal inside Atom (mostly on Linux) and recommend it.


#5

I’ve been most impressed by the package termination so far.

Yes. The node-gyp documentation explains what to do in this case.


#6

Not much difference between termination and platformio-ide-terminal - right?

@alflanagan: Python is not the only issue.

@Songworks: Thank you for the link. The instructions are clear.

I have gone through that exercise before on a Windows7 machine.
It is a huge download (several files) you need to do to get a terminal running inside Atom.

It is difficult to motivate if all an Atom’s client hopes to do is to write code for (example) C++.
For the “cost” of the download and time to set up vsCode looks very attractive.

#justsaying


#7

Too true. Atom and Node could both benefit from more work on the Windows side. It looks like most people contributing are using Macs or Linux instead.


#8

Would you be interested to see a simpler (but fully featured) terminal package like atom-terminal-tab be made part of Atom? I have been considering forking that package since it seems to be abandoned.

No promises, just gauging interest!


#9

Thanks for pointing out atom-terminal-tab! It’s the first terminal package I tried which has a dockable panel. Been looking for that! :slight_smile:

I would love a simple terminal package. I only ever needed two features and so far none I tried out have both:

  1. Terminal panel is dockable
  2. Processes running within the terminal panel should be killed on panel close/exit/dispose (atom-terminal-tab has an open issue for this) or on user request

Though if someone knows a package which does both already, I’m all ears! Would love to finally use one properly.


#10

G’day @danPadric - termination maintainer here. :slight_smile: . You’re right, termination is very close to platformio-ide-terminal. Most of the code is the same (we’re a fork, after all), although I’ve made a few changes and we have a few more themes and other goodies than they do.

The biggest difference is the appearance. I’d loved the look of the old terminal-plus package, of which platformio-ide-terminal is a fork. When terminal-plus was not longer maintained I tried moving to pio-terminal. I didn’t like the appearance, though, especially since it’s designed to fit in more with PlatformIO-IDE instead of the native Atom style. (No offense meant to the wonderful chaps at PlatformIO - we just happen to have different visions of what we want our terminal plugins to look like.) So I forked their code, made it look as close to terminal-plus as I could, and published Termination. And let’s just say it’s been an interesting ride since I’ve still not gotten a good grasp of coffeescript. :grin:

TL;DR: under the hood they’re almost the same… it’s the appearance that’s most different between the two.

Cheers!
Fred


#11

Howzit Fred,
Enjoying some Summer yet?
It is a rare pleasure to have you visit… thank for your reply.

My skills as PLC coder for industrial machine automations carries no weight here. I am reduced to a commentator and observer. The efforts of yourself and other maintainers are respected and appreciated.



What sours the milk for my own user experience on Windows machines is the fact that the terminals (like yours) does not work out of the box. With Atom V1.16 (?) terminals could install without issue. Above Atom V1.19 this was not the case anymore. Windows 7 and Windows 10.

The procedure to have it work has been mentioned earlier in this topic. It did work on Windows 7 before for me.

It would make me happy if someone could come up with a package that does not require me to collect a bunch of compile tools first. Sadly I have nothing to bring to the party when it comes to a viable solution suggestion.



The Atom developers will include a terminal into the core IMHO. There is no way around it with the push for “IDE” functionality. I only hope that the problems I have in Windows becomes history.

@Fred-Barkley, it is my hope that the coming terminal is done in such a modular way, that the fine efforts from yourself can be incorporated in its design. I hope the Atom developers do approach you (and others) to give some creative input.

Some API features would also be welcome. Imagine having some context shortcuts to execute code within the terminal, handling multiple grammars as the script package does.



It was good to chat with you.
C-ya later mate.


#12

What sours the milk for my own user experience on Windows machines is the fact that the terminals (like yours) does not work out of the box. With Atom V1.16 (?) terminals could install without issue. Above Atom V1.19 this was not the case anymore. Windows 7 and Windows 10…It would make me happy if someone could come up with a package that does not require me to collect a bunch of compile tools first.

That’s certainly strange. I’m using termination on a Windows 7 machine at work and I didn’t have to install anything extra.

Cheers!

EDIT: I too look forward to the day a terminal is included with Atom by default. :smile:


#13

Hello Fred,

That statement does not leave much to work with. (Meant as casual observation.) You may have all the build tools already installed or have an older version of Atom. Currently I am having issues on a Win10 machine…

Just for the academia of it, my original problem statement (Win7): [SOLVED] " Cannot find module '..\build\Release\pty.node' ". Also the post within this topic: Terminal inside ATOM. Please know, I ask no action from you. I would ping your project if ever I change my mind.



Yeah… maintaining such a project is not child’s play and can lock in much free time.

At this moment there are many fine efforts scattered all over. I hope a core terminal pulls in and unifies & focus some of those efforts. Would be interesting to pick your brain on what you would want to see in it.



Thanks for the chat. Go well.
- Dan


#14

Please check out atom-domterm. It has excellent xterm compatibility (including mouse handling), and lots of other neat features (see the DomTerm home page). It works well with the Atom pane system: Create one or more terminal panes, drag them around, move it in and out of tabs etc.