Increase Customization in the Learning Environment

While I do generally enjoy the way the learning environment is set up, I think it could be so much better if it allowed for some customization. I’ve put together a list of things that I think should be customization by users and why they would be beneficial. If you have an idea that I didn’t mention, please do comment what it is and why it would be useful. Also, if any of the ideas I’ve mentioned are already possible, please let me know how to implement them as I couldn’t find them in my initial search.

Color Schemes in Editor

The color scheme in the editor is actually really nice in comparison to some other defaults out there, but it is a bit tricky for me to be able to see because have some color blindness. It would be incredibly helpful to myself and many others to be able to choose a different color scheme or to be able to import one of our own.

Toggleable Autocomplete

I’m sure that I’m not alone when I say that autocomplete is incredibly annoying. Sure it can have it’s useful moments but it is counter intuitive. Autocomplete is supposed to save you key strokes, but the autocomplete of quotations, brackets, etc… actually create more work when editing code. If I have to go back and add parenthesis to an equation its takes me three key strokes to type one character: open parenthesis, right arrow, backspace rather than just open parenthesis. This wastes time and should be toggleable for those of us who don’t want it.

Layout of Contents

The three columns (Learn, Editor, Terminal) should be switchable. I do like that you can change the width of the columns, but you can’t switch their places. I am someone who works best with my reading on the right and my work on the left. It simply feels more natural for me for me to work with this layout. I’m sure there’s also people out there who like to have their work spaces arranged in rows rather than columns.

Keyboard Only Accessibility

I absolutely love the keyboard shortcut to check your work (ctrl + enter). It would be amazing if the entire learning environment could be controlled with only a keyboard. Currently you have to use the mouse to scroll down the Learn tab but there could easily be a keyboard shortcut to accomplish this (ctrl + j/k,
ctrl + arrow keys). There is currently a shortcut for Back and Next, but neither one of them works if the current focus is in the editor, so you must click outside of the editor to change the focus before the shortcut will activate and that defeats the purpose.

I agree with most of the points you made. But web based IDE’s are very complex pieces of code. So what i am about to say, will not solve the problem, but might just (hopefully :slight_smile: ) be helpful to work around some of the problems you might experience.

You could consider installing a local IDE or text-editor like VScode or atom (there are many more), these can often be completed tweaked to your liking, including color scheme, configuring the auto complete to the liking and so forth. This also already gives you the option to find a text-editor/IDE that suits you (which you will need after codecademy).

then you can copy paste the code from your editor into the codecademy lesson.

I realize its not ideal, and i do hope codecademy implements some of the ideas you mention here :slight_smile:

on a personal note, i would like to add that auto complete is super useful (especially if you can tweak the auto complete to work to your liking), taking your time to master the auto complete will make your productive.

I use vim for almost everything outside of Codecademy because it is so customizable. I had tried your suggestion of copying and pasting when I first started using this site, but it is very time consuming to go back and forth between the two to check code at each step.

I do use an autocomplete plugin with my vim set up, but it only will autocomplete under certain conditions which removes the hassles of having to remove a character mid-line. I suggested a toggle because it would be much simpler to implement an on/off rather than a way to tweak the IDE on a user by user basis.

It’s a little disheartening to hear my ideas validated but to be told they’re too complicated. I understand that it wouldn’t necessarily be easy to implement some of these, but I pay $240 a year for access to professional programming courses. User experience should be the most important thing for a company like this, especially considering that this site is all about programming. While none of the ideas I’ve mentioned are deal breakers for me, they absolutely will be for other potential users.

Only part I agree with is Toggleable Autocomplete. I’m not color blind so I can’t identify with that issue. But that feature is very annoying, counter productive, and time sink. I get it that its for beginners, but after a short period it becomes a nuisance.