Post by Uncle Buddy on May 29, 2021 21:43:38 GMT -8
For years I've used Notepad++, a simple but feature-rich open-source code editor. I regularly try an IDE only to find that the bells and whistles are distracting.
I'm finally hoping to move on to a more amazing editor (but not an IDE).
I tried Atom and liked it but it seemed glitchy and some of the features were not reliable. Every time I wanted a missing feature I had to research which plug-in to install, and sometimes had to shop among several competing plug-ins, which is a case of too many chefs spoil the stew.
So I installed VS Code. Atom and VS Code are both open source and totally free, and they're both owned by Microsoft.
Here's a comparison of Atom and VS Code. I'll be adding to this list if I learn more. I'll stick to features that are important to me. For example, I turn off all autocomplete, because I find it distracting. I prefer to hone what's left of my memory and I get kinda dizzy when I type something and stuff appears to the right of my cursor.
Here are the features I really liked from Notepad++ which I expect to find in NPP's replacement if I do end up making the switch.
Dragging highlighted text and dropping it somewhere else:
--Atom has the feature if you install it. It sort of works part of the time. (Works like a plug-in vs. something that was planned from the start.) You have to "click & hold" or some such extraneous nonsense.
--VS Code's feature works perfectly out of the box, no extra work to do such as the Atom plug-in's "click & hold".
Highlighting of same words:
--Atom has the feature if you install it. The highlighted words are highlighted by an ugly thick border around them.
--VS Code has this feature out of the box. Highlights normally by adding a transparent color over the same-spelled words.
Search (ctrl+f):
--Both Atom and VS Code are better than Notepad++ because the dialog opens within the main GUI window instead of opening a separate window. Notepad's separate search window gets in the way because I tend to have it open a lot, and it doesn't accept themes so it has a bright background. It's one of the reasons I wanted to switch, although its functionalities are excellent.
--VS Code's search area is a lot smaller than Atom's.
--VS Code's find-and-replace input opens with ctrl-H as expected; Atom's is always open.
--Another GUI misfeature in Notepad++ is fixed in both Atom and VS Code. In Notepad++ you have to click a button to get a count of how many occurrences there are of the search term. Atom shows this count but in an overly-large and too-detailed search form. VS Code's search form is very small by default, gets bigger if you add the ctrl-H input and the term count is easy to spot.
--Both VS Code and Atom make you point at an icon to find out what it does (whole word, match case, regex, etc.). In Atom these icons are way too big.
Left panel for directories:
--I didn't know I missed this feature in Notepad++ till I tried Atom. It's no longer necessary to look in Windows Explorer all the time or use the Open menu at the top like in Notepad++.
--I like Atom's better. At least out of the box anyway, VS Code's directory panel shows only files from the current project and it doesn't show the directory you told it to open in the panel itself, just in the title bar of the app. Then it only shows this directory's subdirectories and files in the left panel. Why break up the family like this? I want to see the whole tree in one place.
--In Atom on the other hand, you add any directory you want to the panel and there that directory is displayed as a project with all its subdirectories. You can add a bunch of projects and collapse the ones you don't want to see. So far I like Atom's better but you have to remember to delete a project from the directory before changing your file structure outside of Atom or Atom will complain about missing files every time you open it.
--EDIT: VS Code again measures up to Atom. I tried File > Add Folder to Workspace and now all three of my current projects are displayed with all their subfolders in the left panel, and the root folder of each project is there too as expected. It's a little more complicated in VS Code only because the instructions start out with the bells & whistles, but when you figure out what to do it's as easy as adding a project in Atom.
--Even better, I added an empty folder called "Test" to the workspaces panel and then deleted it from outside VS Code. Next time I opened VS Code, instead of Atom's big scary red error message that made it look like my computer was going to melt, there was just a red "!" next to the folder in the left panel. All I had to do to get rid of the "!" was to use a right-click menu option "Remove Folder From Workspace". Once again, VS Code just plain works better than Atom.
Scrollbars:
--Atom's scrollbars are thin and trendy. When you point at them, they get fat enough to use, but the problem is that using them includes pointing at them. So I consider them relatively useless, because I often have to re-aim when they don't expand or when I guess wrong about where I'm supposed to be pointing.
--VS Code's scrollbars are also trendy--they appear and disappear--but they are much better then Atom's. The vertical scrollbar is always there and the horizontal scrollbar appears long before you need it. This works with the principle of "how can you point at something if you don't know where it is" which modern trendsters seem to be missing in their mad dash to make everything invisible and flat.
Auto-Indent:
--Or whatever it's called when something should be indented a certain way and the editor tries to do it for you. Notepad++ usually guesses wrong and I couldn't figure out how to turn the feature off, so every time I pasted code I had to change the indentation on the first line. At one time I had it set up right but when I updated to a new version it went back to "smart is stupid" and I never spent the time to re-figure out how I fixed it the first time.
--In Atom, if I type <div> and the </div> fills in to the right of the cursor, obviously I will then want to hit enter to put the closing tag on its own line. This works but the closing tag is then auto-indented so it looks like this and I have to fix it manually, negating the supposed value of the whole feature:
--I haven't looked into other auto-indent functionalities but VS Code beats Atom with one hand tied behind its back in terms of auto-filling HTML closing tags and then correctly placing the closing tag in the right column, i.e. not auto-indenting.
Editor margins:
--Atom is better in this category. There's a tab at top with the file name on it. The tab and the line number column at far left are a different color than the editor body where I type. This is normal. It's just sensible. I don't want to feel lost in a space of undifferentiated backgrounds.
--VS Code is terrible in this regard. Flat is trendy right now, so flat is being overdone everywhere, especially in the margins of VS Code Editor. The tab at the top and the line number column at far left are exactly the same color as the editor area where I type. This has been bugging me for days and I just now realized what was bugging me. I want to know where I am. Also VS Code has an extra line of text displayed at the top of the page, between the top tab and the editor area. On this line is shown the file's path and some buttons with redundant functionality. So the line is useless, ugly clutter, but the worst part is that once again it's exactly the same color as the editor page. Hopefully this "flat only" trend will not be fashionable forever, and designers can go back to letting us know, within reason, where we are and what we can expect from different parts of the page.
--The extra line for the path could be a tooltip that is shown if I point to the tab. It's just redundant noise and not wanted. But if it didn't have the appearance of just swimming around in a huge area of all one color, I never would have thought to complain about it. The editor area should be one color. The top tab and the left column for line numbers should be a slightly different color. But one big uni-color area is just a confusing void. The extra line of text intrudes upon my work area because it looks like I typed it there. Same goes for the line numbers column at far left. It looks like I typed them there. I haven't looked into whether or not this can be customized.
--There is actually a shadow between the extra line above the editor and the editor itself, but this line disappears when the file is scrolled all the way to the top. Cute but useless feature. Worse than useless because it blends the page header into the page and makes it look like somebody forgot to do something. This "make it disappear" trend is all about designers wanting to play, and not considering whether their design feature makes the GUI easier or harder to use. If an icon or button or anything else disappears from the page, there should be a solid reason for it, not just because it's fun to design that kind of stuff.
I'm finally hoping to move on to a more amazing editor (but not an IDE).
I tried Atom and liked it but it seemed glitchy and some of the features were not reliable. Every time I wanted a missing feature I had to research which plug-in to install, and sometimes had to shop among several competing plug-ins, which is a case of too many chefs spoil the stew.
So I installed VS Code. Atom and VS Code are both open source and totally free, and they're both owned by Microsoft.
Here's a comparison of Atom and VS Code. I'll be adding to this list if I learn more. I'll stick to features that are important to me. For example, I turn off all autocomplete, because I find it distracting. I prefer to hone what's left of my memory and I get kinda dizzy when I type something and stuff appears to the right of my cursor.
Here are the features I really liked from Notepad++ which I expect to find in NPP's replacement if I do end up making the switch.
Dragging highlighted text and dropping it somewhere else:
--Atom has the feature if you install it. It sort of works part of the time. (Works like a plug-in vs. something that was planned from the start.) You have to "click & hold" or some such extraneous nonsense.
--VS Code's feature works perfectly out of the box, no extra work to do such as the Atom plug-in's "click & hold".
Highlighting of same words:
--Atom has the feature if you install it. The highlighted words are highlighted by an ugly thick border around them.
--VS Code has this feature out of the box. Highlights normally by adding a transparent color over the same-spelled words.
Search (ctrl+f):
--Both Atom and VS Code are better than Notepad++ because the dialog opens within the main GUI window instead of opening a separate window. Notepad's separate search window gets in the way because I tend to have it open a lot, and it doesn't accept themes so it has a bright background. It's one of the reasons I wanted to switch, although its functionalities are excellent.
--VS Code's search area is a lot smaller than Atom's.
--VS Code's find-and-replace input opens with ctrl-H as expected; Atom's is always open.
--Another GUI misfeature in Notepad++ is fixed in both Atom and VS Code. In Notepad++ you have to click a button to get a count of how many occurrences there are of the search term. Atom shows this count but in an overly-large and too-detailed search form. VS Code's search form is very small by default, gets bigger if you add the ctrl-H input and the term count is easy to spot.
--Both VS Code and Atom make you point at an icon to find out what it does (whole word, match case, regex, etc.). In Atom these icons are way too big.
Left panel for directories:
--I didn't know I missed this feature in Notepad++ till I tried Atom. It's no longer necessary to look in Windows Explorer all the time or use the Open menu at the top like in Notepad++.
--I like Atom's better. At least out of the box anyway, VS Code's directory panel shows only files from the current project and it doesn't show the directory you told it to open in the panel itself, just in the title bar of the app. Then it only shows this directory's subdirectories and files in the left panel. Why break up the family like this? I want to see the whole tree in one place.
--In Atom on the other hand, you add any directory you want to the panel and there that directory is displayed as a project with all its subdirectories. You can add a bunch of projects and collapse the ones you don't want to see. So far I like Atom's better but you have to remember to delete a project from the directory before changing your file structure outside of Atom or Atom will complain about missing files every time you open it.
--EDIT: VS Code again measures up to Atom. I tried File > Add Folder to Workspace and now all three of my current projects are displayed with all their subfolders in the left panel, and the root folder of each project is there too as expected. It's a little more complicated in VS Code only because the instructions start out with the bells & whistles, but when you figure out what to do it's as easy as adding a project in Atom.
--Even better, I added an empty folder called "Test" to the workspaces panel and then deleted it from outside VS Code. Next time I opened VS Code, instead of Atom's big scary red error message that made it look like my computer was going to melt, there was just a red "!" next to the folder in the left panel. All I had to do to get rid of the "!" was to use a right-click menu option "Remove Folder From Workspace". Once again, VS Code just plain works better than Atom.
Scrollbars:
--Atom's scrollbars are thin and trendy. When you point at them, they get fat enough to use, but the problem is that using them includes pointing at them. So I consider them relatively useless, because I often have to re-aim when they don't expand or when I guess wrong about where I'm supposed to be pointing.
--VS Code's scrollbars are also trendy--they appear and disappear--but they are much better then Atom's. The vertical scrollbar is always there and the horizontal scrollbar appears long before you need it. This works with the principle of "how can you point at something if you don't know where it is" which modern trendsters seem to be missing in their mad dash to make everything invisible and flat.
Auto-Indent:
--Or whatever it's called when something should be indented a certain way and the editor tries to do it for you. Notepad++ usually guesses wrong and I couldn't figure out how to turn the feature off, so every time I pasted code I had to change the indentation on the first line. At one time I had it set up right but when I updated to a new version it went back to "smart is stupid" and I never spent the time to re-figure out how I fixed it the first time.
--In Atom, if I type <div> and the </div> fills in to the right of the cursor, obviously I will then want to hit enter to put the closing tag on its own line. This works but the closing tag is then auto-indented so it looks like this and I have to fix it manually, negating the supposed value of the whole feature:
<div>
</div>
--VS Code refreshingly keeps the opening and closing tags lined up, which means I won't have to try and figure out how to turn auto-indent off. I tried several times to fix auto-indent in Atom but my research didn't turn up any simple instructions. In VS Code it works right out of the box. Maybe Atom is for developers who'd rather spend their time polishing their tools than writing code. The instructions I did find for auto-indent in Atom never really said what auto-indent was supposed to do, and it sounded like fixing whatever-it-is possibly involves hopping up and down on one foot while throwing salt over your left shoulder. Hells bells, I can't even walk and chew gum at the same time, that's why I had to give up walking.--I haven't looked into other auto-indent functionalities but VS Code beats Atom with one hand tied behind its back in terms of auto-filling HTML closing tags and then correctly placing the closing tag in the right column, i.e. not auto-indenting.
Editor margins:
--Atom is better in this category. There's a tab at top with the file name on it. The tab and the line number column at far left are a different color than the editor body where I type. This is normal. It's just sensible. I don't want to feel lost in a space of undifferentiated backgrounds.
--VS Code is terrible in this regard. Flat is trendy right now, so flat is being overdone everywhere, especially in the margins of VS Code Editor. The tab at the top and the line number column at far left are exactly the same color as the editor area where I type. This has been bugging me for days and I just now realized what was bugging me. I want to know where I am. Also VS Code has an extra line of text displayed at the top of the page, between the top tab and the editor area. On this line is shown the file's path and some buttons with redundant functionality. So the line is useless, ugly clutter, but the worst part is that once again it's exactly the same color as the editor page. Hopefully this "flat only" trend will not be fashionable forever, and designers can go back to letting us know, within reason, where we are and what we can expect from different parts of the page.
--The extra line for the path could be a tooltip that is shown if I point to the tab. It's just redundant noise and not wanted. But if it didn't have the appearance of just swimming around in a huge area of all one color, I never would have thought to complain about it. The editor area should be one color. The top tab and the left column for line numbers should be a slightly different color. But one big uni-color area is just a confusing void. The extra line of text intrudes upon my work area because it looks like I typed it there. Same goes for the line numbers column at far left. It looks like I typed them there. I haven't looked into whether or not this can be customized.
--There is actually a shadow between the extra line above the editor and the editor itself, but this line disappears when the file is scrolled all the way to the top. Cute but useless feature. Worse than useless because it blends the page header into the page and makes it look like somebody forgot to do something. This "make it disappear" trend is all about designers wanting to play, and not considering whether their design feature makes the GUI easier or harder to use. If an icon or button or anything else disappears from the page, there should be a solid reason for it, not just because it's fun to design that kind of stuff.