You're two for two on picking the same name as existing and (relatively) well known open-source projects :p
Atom is an editor that's been around since ~2014, and Dune is the primary build tool for the OCaml programming language (originally called jbuilder, but renamed a few years ago).
Not a big deal if it's just a hobby thing, but the naming conflict might be an issue if you keep maintaining it and it ever gains popularity. Though hey, you can run dune in dune this way. :)
Personally, I think $70 is pretty reasonable for Sublime Text. I mean think about it, has it saved you roughly an hours worth of time total across all the times you've used it?
But if you don't think it's worth it you could:
• Use something else like Atom or Brackets
• Revert from your Time Machine back up (and if you don't have a backup system in place, you should re-evaluate your life choices)
You can make atom create git commits with each save, or use a plugin like the incredible live-archive plugin to get a feature without destroying your commit tree
I'm a big fan of this println debugging, but, doesn't Atom/V8 have a profiler that would have been able to immediately identify this as the bottleneck?
Looks like it's here: https://atom.io/docs/latest/hacking-atom-debugging
I'd be curious to see how much quicker this could have identified the culprit.
For something quick sure, but for any even mildly large or time consuming project, use an actual IDE with built in version control, compiling(if needed), debugging, an error console, etc.
Also, Atom>Notepad++
Edit: fixed link
Buuuut... languages don't support editors, editors support languages. The team behind Kotlin is the team behind IntelliJ so of course their own editor supports their own language.
Anyone can build a plugin for vscode, atom etc to support Kotlin, just like anyone can do the same for those editors for any old language, which they have?
Even worse: Writing some ASCII text.
Edit: Whoa, seriously though they have a pretty neat homepage now. I just wish they would reimagine and/or reconsider their electron-based backend.
It's on Electron, KiAer /u/sz4tl0rd told us in the other thread on this mess that:
> Electron is a desktop app development framework that GitHub developed. It's fairly new (they co-developed it alongside their memory hog of a text editor Atom).
And goes on to point out in detail how this conference mess is not going to help it.
Atom is pretty good too.
Seriously, Notepad++ is a thing of the past. It was useful ten years ago, but today Sublime Text and Atom are way better (mainly because of the enormous amount of plugins available). That was a fucking dumb move. Nobody really needs your software anymore.
I'll give it a try - Microsoft have been doing a lot of good things lately - but I doubt it'll tear me away from Atom. The <code>atom-typescript</code> package provides a Typescript implementation superior to VS/WebEssentials.
Edit: Basically an under-powered version of Atom. Uses Chromium as a rendering/processing platform just like Atom, no custom packages, but integrated Git support and Node.js/Mono debugging.
Probably if you're editing some HTML/CSS in a terminal text editor and want to see the colors. It's a popular feature in many graphical text editors. For example https://atom.io/packages/highlight-colors.
Atom has also a few packages for rust:
There are other packages for Rust but I haven't tested them :)
> Why does Atom send usage data to Google Analytics?
> In the same way that aggregate usage information is important when developing a web application, we've found that it's just as important for desktop applications, especially during the beta program. By knowing which Atom features are being used the most, and how the editor is performing, we can focus our development efforts in the right place. For details on what data Atom is sending or to learn how to disable metrics gathering, visit https://github.com/atom/metrics.
https://github.com/atom/metrics
> If you do not want this information reported, you can disable this package. Open the Settings View by running the Settings View: Open command from the Command Palette, go to the Packages section, and then find and disable the Metrics package.
I do agree that this should be opt-in. Just ask on first run or whatever.
> JavaScript is a really good language for what is designed to help you do, which is scripting websites.
Java was marketed as such in the beginings, Flash made an honourable career in that branch too, Silverlight failed there ...
JavaScript is a full-fledged programming language founded on two paradigms that are usually not found in languages available to beginners, namely functional programming and prototypal inheritance.
If you read the norms and definitions of JavaScript, the browser isn't even mentionned once, it's just that, historically, the browser was the first runtime environment to gain widespread diffusion. As such, JavaScript suffered immensely during the Browser Wars of the 1990s and early 2000s.
Crockford's The Good Parts is basically JavaScript's Gettysburg address, and imho a must-read for anyone calling themselves a programmer, as are his series of video
In the last ten years, JS has been extending its realm quite outside the browser, making inrods server-side and powering desktop applications such as atom.io
Remember, JS is not statically typed, and that goes too for its fields of application.
https://atom.io/ is GitHub's new editor and it's coming along nicely. I use it alongside Notepad++ and it has a few great features that I can't get from any other editor. In my opinion, Vim is still the best but Atom my favorite of the heavily styled editors.
I don't really know what Dreamweaver is like any more, but any text editor that lets you edit the HTML / CSS directly should work. There's all kinds of text editing tools out there with advanced features that you'll come to love as you get better, but to get started all you need is a web browser and any text editor.
Ones I've used:
Hey! Sass is awesome, I can't remember when last I used pure CSS. It really isn't that difficult to learn. Syntax is basically the same, it's just the ideas behind sass that you're going to have to het used to ( e.g variables, mixins and nested styles ) the official Sass website really is all you need to learn it: http://sass-lang.com/guide .
Not too sure you know how it works, but basically your Sass code gets compiled/translated into good ol' CSS - Since browsers can't interpret Sass. So you need your text editor , I see you have Sublime Text which is an excellent choice, you can also check out Atom https://atom.io . And then you need your interpreter, either a command line tool or if you're on Mac I'd recommend codekit which is insanely cool https://incident57.com/codekit/
Yo, I heard you like visual separating, try this bad boys: https://marketplace.visualstudio.com/items?itemName=helixquar.asciidecorator
https://atom.io/packages/figlet
http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20
Before we all get huffy puffy: https://atom.io/packages/keyboard-localization
Basically, whatever you are missing from the standard install, can be added by packages. It's really easy to create packages, that is the real advantage over sublime.
> git commit and git commands aren't there or have partial implementation, I don't think you can git push?
There is a package to execute commands from git : git-plus
> missing a plugin like Anaconda for python coding that provides linting and PEP8 checks
For linting, you install the package linter and install your language specifics linters from this list of linters
yes but I have to do some packaging work and I don't consider the CSS done yet either.
​
Until then you can use my old atom theme if you want an eOS themed IDE
I recently installed Atom with the package latextools.
I've been quite happy with it. I think it's a brilliant idea to use a general programming IDE instead of a latex-specific program since they already have many of the features that TeX editors should have.
It has autocompletion, even for custom references and citations from a bibtex file which is amazing. I also like how smoothly it interfaces with SumatraPDF. It's also really good at managing multi-file projects (like a thesis).
SublimeText should have syntax highlighting...
Atom is also pretty popular.
I'm a vim guy myself but that's probably overkill for you right now...
Good luck and have fun!
Atom is by far the best IDE I've ever used. It's open source and has a bunch of plugins for meteor. If you get really into it, it's fairly easy to start writing your own plugins as well. Worth a look. If you don't like it, Sublime Text is a well-known favourite also.
Atom and Sublime Text are both pretty and quite functional. I personally give a slight edge to Atom because I like its package diversity and it's open source, but both are really great
There is no best. Seriously. Pick one you like.
Sublime Text is my favorite because it's lightweight, and cross-platform.
Atom is OS X-only, but will soon be available on Windows and Linux.
WebStorm is available on all platforms.
Also, please remember that Javascript and jQuery aren't two different languages. jQuery is Javascript.
Right now, I would say no.
The last beta build was in December, and that's probably what got the people at GitHub to create the Atom editor.
That being said, I myself use Sublime Text, but I would evaluate it and buy it if it's any good if I were you. Be sure to try out Adobe Brackets and Atom (when it arrives on Windows, in your case).
The Linux usage in US websites is 2.41%, data may be very skewed
Not only this but most of the people who are on any Linux distro use Firefox, go to the website https://atom.io/ with Firefox and then with Chromium and look which OS it shows for each browser to download that editor for.
It's actually the backdrop for my text editor (ATOM). To do this I use the "Ghoulish UI theme" by "angela-d" -->https://atom.io/themes/ghoulish-ui .
Then I go into the theme settings and in the background image directory, i put the gif, jpg or png file I want to use for my background.
Hope this helped!
I know what you mean, I'm not a huge fan of the markup myself. I can offer you a tool to help with the typing errors however. I recently discovered Atom from GitHub. It's a plug-gable text editor and they just so happen to have a YAML package and several linters. I've been a fan of Notepad++ for years but Atom is becoming my new BFF. If you go this route, Atom makes it easy to open your entire config folder and I recommend taking advantage of its native GitHub functionality for source control.
I recommend Atom. Apparently a lot of people are put off by its Windows version, but I've had no trouble with it on Linux. These days, though, for quick scripts, I tend to just use Mousepad, which has code highlighting.
We used Git to control the Asciidoc source for the Pro Git book. Probably the one thing that made it work the best was to only insert line breaks at the end of sentences. This makes it so that changing a sentence only lights up that one sentence in whatever diff reader you're using, and only highlights the part of the sentence that changed in a reasonably smart one.
It's slightly annoying to work like this in your editor, and easy to fall off the wagon. I ended up writing an Atom plugin to help out.
Notepad historically has problems with any sort of linebreak style that isn't the windows default (carriage return + line feed aka CR/LF). The filter is now using only LF, which is the preferred style on Linux systems and sometimes enforced or at least encouraged by version control like Git.
Other text editors will solve your problem; I'd recommend Notepad++ (as mentioned below), Sublime Text (not freeware afaik) or the Atom editor (https://atom.io/).
If you want to dive in and manually compare your old custom version of the filter to the newest one, grab WinMerge or Meld as well!
Surprised no one mentioned vim-mode for Atom (https://atom.io/packages/vim-mode-plus). I've also never understood why there is always a group of people that want vim in every new editor, there is always a vim addon package! What does a fancy new editor do that you can't already accomplish in vim?
I'm a dirty mouse using pleb, btw, but I grew up on vim so I'm perfectly fine using it remotely to work on something.
People usually code using fancy text-editors such as Sublime Text and Atom or very complex and feature-rich programming suites known as IDEs (integrated development environment). IDEs are often language specific, so the IDE you would use depends on the language you're programming in. JetBrains makes some of the most popular IDEs.
Seems more or less the same as Microsoft's current Jupyter extension (which is pretty meh). This seems like it's trying to reproduce the work already done by Atom's Hydrogen extension, why not contribute there instead?
For Python, just using a text editor (Atom and Sublime Text are both good) and the terminal works well enough.
I can't reliably say, since I've never used C++ for any "serious" programming (i.e. Big Projects), but Sublime and a terminal was still enough for me.
> Of course, but rarely if ever in an IDE.
From the Github project page. > The hackable text editor https://atom.io
People just get accustomed to using a particular tool. I'm aware of other text editors that can open large text files -- so when you find pain-point in a tool you otherwise like; it hurts.
You should try Atom. Took me a while to properly appreciate it, and it eats a bit more resources than sublime, but it is much more customizable and has a very similiar feel like sublime.
Basically all you need to do is choosing a dark theme and install the minimap plugin and you get nearly sublime text with extras.
I'm not sure about shorter, but you can currently get the errors and warnings in JSON for editor use using elm-make --report=json
, which is what the Sublime, Atom and LightTable plugins use, I believe.
Try Atom with the language-cisco package. If you also do a lot of Juniper, try the language-junos package.
> ... it does not offer anything which emacs can't do.
Is there anything emacs can't do? ;-) I think atom is intended to be something like a modern-day emacs or vim in terms of extensibility, but with a gentler learning curve.
If you like IPython, have you looked at hydrogen?
You don't have to use emacs there is a Plugin for Atom that tries to provide an IDE like experience. I've used the vim and emacs equivalent with some success. You will find ghc-mod (which gives you at lot of the IDE like experience) is not compatible with newer versions of GHC and Cabal. There is an alternative called hdevtools, but it is not integrated in the Atom IDE.
There are some amazing things Haskell can do, but I am still trying to get a decent environment to write Haskell in myself.
If you just want to get your feet wet before spending hours setting up an actual development environment I recommend using the FPcomplete site and their built in editor.
If you do want to develop on your own machine I recommend installing NixOS on virtual box and running everything from there. It is the only sure way to deal with cabal hell. Cabal sandboxes didn't solve it, Halcyon is not there yet and Stackage won't solve problems sandboxes don't fix.
Despite all the hate, it really isn't cabal's fault since it isn't a package manager and the only way it deals with needing two versions of the same library is to sandbox the whole project, which doesn't always work :(
The real underlying issue is Haskell builds are not repeatable unless you have the exact same GHC version, cabal version and a prayer. NixOS is the only fix I have found.
The result is that you have to know Haskell inside and out before you can really use it and that is a major flaw at the moment.
I think they are saying that you can use a text editor, like atom, to work on C++ files and than upload to the arduino from the command line inside the editor.
I currently use the arduino IDE, but my workflow would be faster if I could use a text editor, with color highlighting, autocomplete, style linters, search commands, ...
So lint & tab/untab?
Well, Vim support that in all ways.
For tab and untab (no need for search and replace):
>.
or <.
to tab and untab respectively. Even better, keep pressing .
to keep tabbing/untabbing (one tap is easier then two key combo).Is that all?
Quick edit:
> Atom has a ton of packages, aka plugins.
Let's count it? Shall we?
Atom packages: 6,642 (Source: https://atom.io/packages)
Vim plugins: 15,593 (Source: https://vimawesome.com/)
After discovering this sub, I decided to dual boot Linux on my new computer earlier this Summer. I still have some major changes to make, but I thought I'd showcase my color scheme on xfce while this contest was going on.
I decided to call it "Cupertino Light" and it's available for Atom (official), VS Code (hacked, see my Atom theme readme), and vim. Haven't created a dotfiles repo yet but maybe I'll edit this post later once I upload some files.
EDIT: Here's a bare-bones dotfiles repo for anyone interested -- it has the nikes color script, .zshrc, termite config, nvim init.vim, and of course my custom vim color scheme.
Colors:
color0 = #3f3f3f
color1 = #ff4845
color2 = #288ad6
color3 = #47aa12
color4 = #8d938d
color5 = #6b7db4
color6 = #babaa9
color7 = #445e67
color8 = #303030
color9 = #D4665D
color10 = #4c83ad
color11 = #61854e
color12 = #6e776e
color13 = #5f6a8b
color14 = #a4a493
color15 = #4b575a
The community manager downplaying the issue has me worried and has me thinking they did this as a test to see if they can later down the read mainstream it and even put ads into the core atom editor.
Report the package in APM : ** https://atom.io/packages/minimap **Click flag as spam or malicious (hell it's both)
Uninstall and install minimap-plus, it's a fork without the spy/adware: https://atom.io/packages/minimap-plus
> Atom: It's a bit slow, seemed like a good editor, but someone mentioned that it apparently send usage statistics back home (no idea if it is actually true) which freaked me out slightly.
It's true but it warns you when you first launch it and you can disable it easily.
It's the metrics package btw.
search terms you want to use are livereload and browsersync
there are npm package if you know how to use one and there are many plugins for different IDEs eg. for atom and it should be bundled with phpstorm/webstorm
It's even better if you use semantic highlighting because it'll show the wrong color everything, not just language keywords:
https://github.com/vprimachenko/Sublime-Colorcoder
https://atom.io/packages/language-javascript-semantic
https://atom.io/ I highly recommend Atom.
In comparison with Visual Studio it's not IDE but it's light weight text editor. But I think it's the best for small projects. i've tested some dev tools and in my opinion:
- vim / emacs needs time to learning specific work techniques
- brackets very slowly when working with many files and folders
- Sublime v2/v3 it's still in beta version and costs $70 if you need a license
"Sublime Text may be downloaded and evaluated for free, however a license must be purchased for continued use."
Cool, a couple in there that I've not heard of before.
One I like is Swackets which gives you rainbow colour matched brackets, making it much easier to find your place when you're looking at:
} } } } } } };
If you like Sublime at all, you'll likely also like Atom. It's open source/Free (unlike Sublime), cross-platform (like Sublime), and built around plugins/a package manager (i.e. you don't have to use a third party hack). It seems (as best I can tell) to have stolen most of the interest from Sublime.
It feels quite a bit like what Sublime would have become if development hadn't largely stagnated years ago.
You could try atom again with some packages:
I personally am not using any of these, but it might be stuff like that you're looking for.
Check out Atom! It's open source, really simple, but still pretty powerful and super customiseable. I find it a tad buggy and unstable, but as long as you save frequently it's terrific. Hopefully that'll change with time, as it's relatively fresh out of beta.
Alternatively, a closed source alternative is Sublime Text. Atom is essentially made to be a better Sublime, but I find that Atom fails to match in stability and startup speed. Note that if you don't get a license, you'll get pop-ups about buying Sublime sometimes. You wouldn't have to stop using it, but it's annoying nevertheless.
This is an encoding issue.
https://www.wikiwand.com/en/Character_encoding
I'm not sure what you're trying to say here. Are you unaware of the concept of encoding? Do you believe it's Atom's fault? Because it's not. You have most likely not set it up correctly.
You can likely find a solution around here: https://atom.io/packages/encoding-selector
Javascript is a full-on programming language. Atom (Github's text editor desktop application) was actually written in it, and styled with HTML and CSS. Lots of good stuff to be done with Javascript beyond fancy UI design on the web.
> do i need to save the file in atom and open it in terminal?
Yes, that's the standard way. You can also get a plugin to run the program in Atom.
If you have more questions like this it's better to post them on /r/learnpython. Be sure to format your code for reddit or use a site like pastebin. Also, include which version of python and what OS you are using.
> syntax and snippet support for a wide variety of languages
Like Kate and Gedit and ...
> Expandable with packages (over 6000 currently available)
... easy to get big numbers when you put [syntax completion](https://atom.io/packages/search?utf8=%E2%9C%93&q=completion and themes in your packages and all the functionality that is stock in other editors in its own package
> Runs on Electron (think web development but without HTTP)
... I wouldn't call this a feature.
> Open source
... like every other editor on linux
> Created by the creators of Github
... nice, I guess ?
shame electron isn't simple
a look into the future:
it's webscale™
I've picked up loads over time. I don't have access to my work PC atm but most of what I've got has been gathered from these two lists:
I also use terminal-plus. Out of the above, my most used ones (not counting always-on ones like linters) are for managing merge conflicts (previously one of my favourite PHPStorm features) and Emmet for super fast html generation.
>Atom has all the same features (if not more) and is actually free.
Sure if we ignore large files operations and all the plugins that currently exist for Sublime but not Atom.
>a pretty notepad++
You are the insane one here.
I've only git two Ruby-related packages installed: linter-rubocop and ruby-block
My apm list --installed --bare
looks like this
Same thing for coding. Despite how vocal they are, VIM users are actually a fringe group. Most people use text editors like Sublime/Atom (or Notepad++) or IDE's like Jetbrains/Eclipse/Netbeans.
If you're just starting, stay away from VIM or Emacs. You already have a ton of shit ahead of you to learn. There's no reason to relearn how to work with text files.
See language-babel.
apm install language-babel
It supports flow, jsx, es6/7 out of the box. You can even use it to build (babel) if you aren't using a build tool like browserify or webpack.
I've started using atom, for various reasons.
This is a super set of resources for atom:
The haskell-ide is amazing but relies on ghc-mod which is not quite there with ghc710, so I've written a couple of plugins:
Github's atom editor has both syntax highlighting and support for code completion via racer.
I always found JS on the server to be a really baffling trend. The first time I heard about NodeJS, I thought it was an interesting idea and a cool proof of concept, but didn't think it was worth much outside of nerdy academic/computer science curiosity and "because we can".
...then it BLEW THE FUCK UP. Suddenly everyone was writing everything in NodeJS. THEN people started writing desktop software in it.
What's next? Desktop software in PHP?
Seriously though, I think Node was just in the right place at the right time.
Websockets had enough mainstream browser support that "realtime web" was officially a thing and there wasn't really anything out there that was designed to handle it. Java was the only real option in the web sphere unless you wanted to write something in C/C++.
Ruby, Python, PHP - none of the solutions for writing servers and handling concurrency in these languages were particularly good. Even the solutions that have emerged in the years since Node aren't exactly great. The fact that Node seemed like a good idea compared to the other options is the most telling. Javascript was also a language most web developers already knew (or thought they knew), so it was an easy sell.
However, today we have Go. It's extremely well suited to many of problems Node was trying to solve, and probably more importantly, is proven in production at scale.
Vim is my editor of choice, but I don't think Vim per se is worth learning.
Any editor is worth learning if you plan on making it your primary editor. Be it Light Table, Sublime Text, Atom^*, or any other advanced editor. If you master any such editor, you'll become more efficient and productive. Especially once you start using plugins.
Vim is great when you spend a lot of time in the terminal.
The SSH argument isn't as strong as people try to make it. Almost everyone that uses Vim will have it customized (custom keybindings, plugins, whatever). It's these customizations that especially make the user productive and gives them a good user experience. Once you SSH into a server for example, you'll be using plain Vim and that will slow you down a lot--still better than using something like nano or pico though.
^* ^Just ^noticed ^I ^have ^some ^Atom ^invites ^left. ^Anyone ^want ^one?
You don't write your code in GitHub. That's like asking, "Where do I makes videos on YouTube?" I mean you can do it if you want, but no one ever does. We code on our local machines and upload ("push") the code to GitHub.
Get yourself a text editor. Atom is good if you're starting out. It supports pretty much every language and is made by the same people as GitHub, so they integrate nicely.
Throw yourself in...
Start fiddling with basic HTML and CSS to get to grips with what it does and do the research on elements as you go.
Try building a simple web page. Your first attempt will be crap but will teach you a lot. It will seem tedious at start but after a while you'll be blasting those <div class="rockets"> off.
After that try a little javascript/jquery (jquery is shorthand JS).
If you're determined, you'll get it. If you like it, you'll love it.
Editor of choice: https://atom.io
I have a windows laptop. All the projects I work on are stored on Linux systems. I have been searching for a long time for a way to edit the remote code effectively through Windows based editors. Things I have tried:
All of these solutions were based on the concept of uploading the modified files to the remote server.
While this was an usable workflow, it was far from ideal. Even with auto-upload on save
turned on, a lot of time there were sync issues and I had to manually perform the sync.
I even took a jab at SSHFS but was unable to get it to work on Windows 10.
Today out of sheer luck, I came across this obscure extension for VSCode and I am happy to say that this was what I was looking for this whole time. I can create workspaces for each project and mount the entire project directory over SFTP. I can actually edit my remote code directly from Windows. Awesome!
Not a neural network and doesn't write a full program, but there's an Atom plugin that lets you search for something (e.g. alt-s quicksort), it automatically gets a code snippet in the language of the open file and bungs it in where your cursor is.
It’s still down. I really wish they hadn’t abandoned the downloadable p5.js editor. p5.js works suitably with the Atom editor, but I recommend also downloading Firefox Developer edition to use in conjunction with the Atom editor so you can view your sketches.
https://atom.io https://www.mozilla.org/en-US/firefox/developer/
If you want something that's easy to start with I'd recommend Atom with parinfer and protorepl. Personally, I use Cursive and it works pretty well in my experience. It's got a lot of nice features like refactoring, jumping to definition, hinting invalid arguments, unused function detection, and so on.
>I do use them responsibly but they are still something you need to understand to be proficient in Clojure.
I disagree. You can be perfectly proficient in Clojure without having used any macros. Meanwhile, the type system in Elm is something the beginner has to learn to understand. I personally think it's fundamentally more complex than Clojure macros.
>So do Elm, I don't see your point...
The point is that Clojure does have nice aspects for beginners. While you have a standalone REPL in Elm, I haven't seen editor integration for it. Perhaps I'm just not familiar enough with the tools, but how do you go about reloading individual functions in the REPL from the editor without doing a recompile? The closest thing I'm aware of would be elm-instant, and that's not quite the same thing.
Atom editor + https://atom.io/packages/search?q=ansible
or
Sublime Text + https://packagecontrol.io/search/ansible
YAML is pretty simple, I don't think it's worth doing much more than the above. I'm sure there are some emacs/vim options as well.
I mostly MIT/GPL licenced software but that has more to do with my job than anything else. I'm a front-end developer and use Atom as my main editor. The npm packages we use in our site are almost always MIT licenced. Our entire stack is based on open source frameworks, tools and platforms.
But I do have a company issued Mac book pro as my development machine. I could (and am allowed) to install Linux on it but I haven't bothered yet.
You aren't going to find as much as emacs, if anything because Atom was built primarily as a text editor / IDE. There is a mail package, though: https://atom.io/packages/email
Fair warning, I haven't tried it.
oh, the screenshot is using i3-gaps, i meant to say that i've started customizing on XFCE before going with a tiling wm. I feel the same about XFCE, though, every other desktop environment just feels clunky and weird.
The text editor on the left screen is Atom with the One Dark default theme, and no menu bar.
You can think of it as a super-slim browser that has access (via JS) to lower-level operating system functions. You should be able to get a bit of performance improvements, as it's essentially a dedicated browser process for your game, and there's no browser sandboxing (so you can do stuff like read/save to the filesystem).
I'd probably have to recommend going with Electron, since it gives you access to the major OS platforms (Windows, OS X, Linux), and has very strong community support. It's used as the wrapper for GitHub's editor Atom (https://atom.io/).
I would read through the Quick Start Documentation available here: http://electron.atom.io/docs/latest/tutorial/quick-start/ as it covers the basics really well.
I would be happy to help with anything I can, just send me a PM and perhaps we can collaborate.
I've been using Atom for all my JavaScript, including Meteor, needs. The autocomplete (via packages) is not as awesome as, say RubyMine for Rails development, but it's somewhat sufficient and gets work done.
And then there's THIS package for Atom Editor.. You type a query in the editor, hit a hotkey and BOOM, code is copied from the first stackoverflow thread https://atom.io/packages/howdoi
Why even care to learn anything new when you have this ? :D
For other languages (read: Python) I am really loving working with the Atom editor and the Hydrogen package. It gives you in-editor evaluation of code for any language that has a Jupyter kernel (which Haskell does). I haven't yet set up the IHaskell kernel (it seems quite an undertaking) but it's on my todo list.
https://atom.io/packages/hydrogen
In-editor evaluation beats working with the REPL any day. Hopefully it'll be easier to use soon. Maybe stack can help :)
> about how Atom has improved code completion
It was about improved built-in auto-complete facilities for plugins which provide auto-complete.
autocomplete-plus
was a separate package but now it's part of Atom.
For JavaScript, install atom-ternjs
. I think that's the right one.
I'd just go with atom-typescript
though.
> Yet it still doesn't know that addEventListener exists. Or even window.
Well, why would it? Those aren't part of JavaScript.
If you use Tern, you have to use a ".tern-project" file to define which libraries exist and which other files it should try to analyze. Check the readme:
https://atom.io/packages/atom-ternjs
For what it's worth, this kind of problem doesn't exist in Dart, because you have to import the browser stuff (import 'dart:html';
) in order to use the browser stuff.
I'm one of the developers of the SublimePapyrus package. I used Notepad++ when I started and I even updated the auto-completion definitions, but switched to Sublime Text quite a while ago.
I think that the main advantage of using Sublime Text when working with Papyrus is that all the auto-completion and syntax highlighting definitions are more up-to-date than those available for Notepad++ on the CK wiki. SublimePapyrus also adds definitions for SKSE, SkyUI SDK, JContainers, SkyUILib, etc. There are a few additional features that you might find useful (e.g. inserting the keycode used by SKSE's RegisterForKey function by selecting a key from a list). You can read more about the features implemented in SublimePapyrus by following the link at the beginning of this post.
Notepad++ has the advantage of being able to show descriptions of functions when suggesting an auto-completion.
EDIT: In general Sublime Text has the following advantages:
- multi-platform (Windows, Unix, Mac OS)
- easy to extend (Python is used as the programming language for plugins, new menus and build systems can be implemented with JSON-formatted files, etc.)
Atom is another option, but at this point it still feels too sluggish compared to ST to use on a regular basis. Atom does have a package for Papyrus. Atom also does have a nifty markdown preview feature for when one needs to write text that is to be displayed on GitHub.
Assuming you don't want to learn vim, TextWrangler and Atom are the best free options and Sublime Text is the best pay option.
But really, everyone should learn vim...
Just to give two more options that I haven't seen in the comments:
I use mcfunction-lang and have encountered maybe 1-2 minor issues. Apparently mcfunction-novum is supposed to be pretty good too.
I use Sublime Text, but the free Atom editor also has a plugin available that allows you to synchronize files in the background through SSH/SCP. Just edit them on the Mac and they're automatically updated on the Pi.
As for controlling your app, restarting it, etc, both editors support terminal windows with various addins so you don't have to have a separate terminal window if you don't want one.
EDIT: It's a good idea to develop on your Mac instead of directly on the Pi. You're less likely to inadvertently wipe your Mac's filesystem.
​
Ah! I'm teaching myself Python currently. Lovely language, and because it's syntactically and grammatically very strict, it forces you from the beginning to learn good practices from the very beginning (unlike Javascript, which is the most common language you would learn if you were studying web development).
If you want to get a head start (and I highly recommend you do if it interests you!) I would suggest starting with something like Learn Python, which allows you to write code directly in your browser. Once you've played around in that, I highly recommend finding any of the open source or free IDE's (think of it as Microsoft Word specifically for coding). If you're on a Mac like I am, I'd suggest giving Atom a go.
IDEs definitely provide a lot of added functionality. I think the biggest benefit is visual debugging. You could add a bunch of print statements to your code and still not have the same understanding of what's happening compared to using a visual debugger. In addition, IDEs often provide auto pep 8 compliance and other features that can improve the readability of your code. I only recently started using PyCharm, but I used Visual Studio Code before that and it worked pretty well. Also, if you want to start small, Atom is a pretty good text editor, but you can add packages to it that give it IDE-esque functionality.
Just for fun, here is how I got atom running in a brand new stretch container.
create new container at the Termina prompt
run_container.sh --container_name=foo --user=ddenardo --shell
now inside the container
sudo apt-get update sudo apt-get upgrade exit
the 'exit' command drops me back to the Termina prompt. Restart the container (good practice after 'apt-get upgrade') and go back in.
lxc restart foo run_container.sh --container_name=foo --user=ddenardo --shell now back inside the container
sudo apt-get install wget wget "https://atom.io/download/deb" -O atom-amd64.deb sudo dpkg -i atom-amd64.deb sudo apt-get install -f sudo apt-get install libxss1 libasound2
All done! Now it will run.
atom
I've been using Atom for most JavaScript development. I'm not sure if it's by default, but if you have a function in one of your open files, it will suggest names for you. I'm sure other editors like VS Code does this too.
Also, the lack of Autocomplete is something I somewhat enjoy in JavaScript, as it forces me to actively think on what I'm working on. Maybe that's a bad thing..
<code>remote-ftp</code>, which lets you define a server config file per project directory and seamlessly work on remote server files
<code>Pigments</code>, which highlights colors defined in the code, and shows all of the colors defined across a project
<code>Minimap</code>, for a Sublime-like overview of the file
Plus, I like being able to split file windows on a grid vertically and horizontally. I dunno how many of these have been added or fixed, last time I tried VSCode was almost a year ago.