Feature problems using Atom in general


#1

Hi, I have noticed a few issues using Atom, I wanted to post so people more qualified to modify it than me know. I’d change it with you if you want, but I’m learning to use the editor well let alone change it

  1. Trying to highlight, where you left click and move low or high to move the atom screen up and down is impossible. It’s shockingly rapid, and moves down 100 lines in less than 1 second. Usually highlight scrolling is slow at first, and speeds up as it becomes clear you wanna grab a lot. I confirmed this by testing in Gedit and Pycharm, which are easy to scroll a little bit and cut n paste

  2. You cant drag and drop to move a file within Atom, I have to go to command line to move files. You can move them in Pycharm

  3. Parens and single parans (’/") are aggressive and pushy, and even if I have something like "ENUM_NAME , hitting " gets me more “”, when it should see that I have a " followed by a word and some spaces, and give me a single paren. Atom recognizes you want a single paren directly after a word, but not if there are spaces. The Pycharm I was using previously knows within 1 space only, like "string ", but causes "string “”. I think this would be a big improvement, like when you wanna concatenate strings with a space beforehand…the annoyance adds up over time :wink:

  4. The autocompletes are completely jumbly and walk all over your snippets. It only really makes sense to separate things so completely different, like finishing a phrase vs calling a function to insert code, and if snippets were always TAB and autocomplete was always ENTER, there would be no issue here

  5. The exact match as you code doesn’t take precedence of something that Atom wants it to, like if I have a snippet “factory” and there is an autocompletion for “factory_boy”, typing “factory” gets me 2 options: factory_boy at the top, and below it, I would have to hit down arrow to get “factory”. But “factory” is literally what I typed- that should be highlighted, with “factory_boy” as an option below it. Atom tries too hard to read your mind (this could be fixed by fixing #4 in most cases, but not all if you have 2 similar snippets)

  6. The help box that pops up with your snips/autos is too small, and should be about twice as wide to read your hints. Hovering over your shortened hint doesn’t expand it either, like I expected in the pic below

7- The error messages when you try to save your config files don’t expire and always have to be closed by hand- they’re pretty obvious, I think they should expire after 1-2 mins

8- Your custom snippets/completions should always take precedence over installed packages, since you overwrote their stuff.

Since atom is better overall but younger, features 2-3 could be copied from how pycharm does it and improved upon


#2

Actually you can move them in the file-tree but it is a pain. You use copy/paste in the context menu.


#3

That’s a hassle, but better than nothing. Thanks Mr. Hahn. Does copy full path work the same, like if the path had 2 folders and 3 files in each folder, would pasting it paste both folders and the 6 files? I don’t wanna try it and screw my loaded projects up


#4

Probably. I’ve only moved single files. I doubt experimenting could cause any harm.


#5

You can also move files with the “rename” command :

Before :

Using the rename command from the command palette :

Or the context menu :

Renaming :

Result :

Note that you can only move files inside your project.


#6

While that is all true. I’d also prefer being able to drag&drop files among the folders in the tree view.
It’s expected behavior and counter-intuitive when it doesn’t work.

There is a PR open on the Tree View repo, keep an eye on it:


#7

While it is indeed not currently (Atom v1.0.2) possible to drag and drop files in the Tree View, you can still do it easier than what has been described so far (in my opinion). At least on Windows, you can move files by cutting and pasting them, or copy files by copy and pasting them.

Moving files:

  1. Hold Ctrl and select the files or folders you wish to move in the Tree View. You can also select a range of files or folders using Shift instead. Note that by default the currently open file is automatically selected, so deselect the file by holding Ctrl and clicking on it in the Tree View if it is not desired to move it.
  2. Press Ctrl + X to cut the files.
  3. Select the destination folder by clicking on the desired folder in the Tree View. If you select a file the parent directory of that file will be used instead.
  4. Press Ctrl + C to paste (and thus move) the files.

To copy files simply substitute every occurance of Ctrl + X for Ctrl + C and ‘move’ or ‘cut’ for ‘copy’ in the steps above.


#8

The comment mentioning “expected behavior and counterintuitive” when it doesn’t do that is 100% right. I am talking about selecting any number of files and or directories from anywhere in tree view, then dragging them to a directory where they should drop. If files/directories by the same name in the source and target directories are involved, the default behavior should be to prompt whether the file in the target directory should be overwritten the copy of that file canceled or copy with slightly revised name to have both copies in the target directory. Cancling the operation for one item should cancel the whole operation. There should be settings to change your defaults including the option of not being prompted anymore.

These little things are essential. It is the way operating systems work. It took many decades for these standards to get worked though trial, error and attention to detail. All Atom needs to do in this area is go along to get along, but we cannot blow it off.

I get that it is a pain in the butt to get all that detail exactly right but if you don’t do it the app sucks. Arranging files and directories is as much part of programming as any IF-THEN-ELSE in your 3GL of choice. In fact, the biggest challenge and most difficult challenge in developing a system often is arranging files and directories in a manner that serves a new special purpose.

In addition to copying the files and directories, we need to be able to left click on any file or directory name, select COPY and put the NAME of the file or directory into the clipboard so we can paste the name into our programs. What I do instead is select rename, then since the cursor does not automatically move into the rename box, have to click on it, highlight the name, then in a real insult of not giving a crap, by not moving cursor to the rename box when selecting rename, you have to click again to exit after highlighting and copying. What is this, 1995?

I know I am being a jerk about this, but have you ever seen John Travolta playing Chili Palmer in Getting Shorty? I am just the one telling you how it is. Now you can’t say no one brought this up.

Is the scope of this entirely within the tree view project?

Not being able to drag and drop a directory undermines the value and credibility of this app. There are a lot of things I love about Atom but these issues are enough to have me seriously considering discontinuing use. Maybe you would be glad about that, but I would be big time disappointed. What I do now is run Eclipse and Atom simultaneously, switching between them depending on what I am doing. I kind of hate Eclipse, but working with it side by side with Atom, it is becoming less and less valuable to run Atom. Were it not for Atom’s architecture and the implications that has on my long term work, I would be long gone out of Atom for these issues. That said, what is the good of a superior architecture if the applications made with it are inferior to their ancient predecessors?


#9

In a way I agree with your thoughts. What reaction are you hoping to get from the designers and contributors of this free software we call Atom? (intend no sarcasm)


Would you be willing to donate your time for …

  • identifying issues and publish in the project’s issue section

and/or

  • identify priorities and balance: new functionality, stabilization and standardization.

and/or

  • contribute code to the project

I suggest to bare in mind there differences between core functions, grammar specific and community functions.


#10

I want this to become a priority, now not later.

In what way do you not agree?

btw, I knew I could count on being taken seriously here, something I appreciate as much you probably can imagine if you had reason to do so. My goal is to be of maximum civil value by walking the line between assertive and disruptive or disrespectful. I don’t want to be disrespectful to anyone, or disruptive.

I want to tell you about my respect for this project. That will take me a lot longer and will include at least as much urgency as my little rant above. This project is special. The technology is special and the people supporting it have a fantastic attitude and proficiency. I almost have to say I never saw anything like this before, but recently I stumbled into another open source project that blew me away with these qualities. That other project is pretty important too. I am talking about Let’s Encrypt. That project, which is permanently correcting the insane, costly gaggle that WAS ssl certificates, gave me new faith and hope in the human race. Until just a couple months ago, I could not believe how stupid we all were collaborating to be in the area of ssl. I did not see Let’s Encrypt coming. The solutions they have put together are fantastic and FREE! It is unbelievable.

Then I found Atom, because I figured there had to be something at least smaller than Eclipse I could recommend to people I work with. It took a couple days using it to notice I did not totally hate Atom the way I hate Brackets by Adobe which Atom is a lot like, or that stupid ide called coffee something that kept performing operations of its choosing on my files and imposing requirements on my file systems I didn’t want or any of the other IDEs I ever used, shaking my head at how bad they all are, figuring that is just part of people being confused about software. Then a light like the Sun came out from behind the mountain with these words, by DamnedScholar, who was providing way more and better assistance than I had any right to hope for:

You’re missing an important piece of the puzzle: Atom literally is a browser. The most basic components of Atom are Node.js and part of Chromium (this combo was spun off as a separate project called Electron and is now being used by a handful of other programs including League of Legends, Slack, Wordpress Desktop, Discord, and many others2). Since every Electron app is built on Chrome, every Electron app includes Chrome’s developer tools. In Atom, you can get to them through View -> Developer -> Toggle dev tools or ctrl-shift-i (except on Mac, I think).

I might be imagining what that means. I think it means that after 20 years of acquainting ourselves with the internet. the human race has a better way to make apps for the web and beyond.I don’t see any important differences among the technologies people have been using to make web apps until now. Now I see all that we as a species have learned pulled together in a manner that has more power than any other way yet found.

If that is the case,then what is going on that the basics of our file system manipulations are flat? I am hoping they are on the drawing board and in the schedule. If they are not clearly in our immediate plans, then I would draw certain conclusions. My conclusions would be this is not yet like nearly all software projects, a hopeless cause. I have a lot of hope for Electron and Atom. But I see these-shortcomings as a test of whether this operation is going to fulfill its potential. Plus, I need those features!

I have one more thing to tell you. Where I have been working, we have saying. It’s actually more than a saying, it is a statement of how it is for us. This is not a stepping stone in our careers. This is the culmination of our life’ work. When I was 30, I had in mind by the time I was old, I would have a lot more to show for my life’s work than I do. It is my fault. I have had more opportunity than all but a few. A big mistake I made was my estimate of how much I could accomplish by programming software. it takes me a lot longer to make things than I expect. I barely understand why it has been that way.Twenty years ago, it seemed I had my whole life in front of me. Twenty years from now, I’d like to be retired in the sense that I have enough cash stashed to do what I want without having to put up with what people do to one another in the workplace. I probably will be free of that situation, but unless some major trends change for me, I’m more likely to be destitute and unable to work as programmer because by the age of 77, there is a chance that age will inhibit my abilities.

I have still another thing to tell you. I spent a lot of time politely listening to other people in our profession talk like they know things and I don’t. I guess they do, but it seemed like there were all these people coming across like they had seen more and done more in software so they knew stuff and I did not. The day came when it dawned on me that nobody had spent substantially more of the last 3-4 years digging into certain areas of computing than I had. That translated into still respecting what people know in other areas and people who got more from their experience if it was the same area as mine, but at some level, in some areas, almost no one had the knowledge I have. just like this is true for you in the knowledge you have from your experience in the last 3-4 years. I am not the smartest guy, but I am not the dumbest either. What this turned into and the relevance it has to this conversation is I am not taking for granted any more that just because someone who makes their living by creating an aura of expertise says it is not a big deal that the basic file manipulations in Atom are … let’s call it “not complete”, I am not buying that without an explanation I can understand and agree with. Our profession is full explanations that don’t make sense backed by condescending and intimidating mannerisms designed to deflect inquiry. We all have to do do some of that. Hardly any of us resist it. I don’t have time for that. I need to know how serious this project is so I can figure how it fits with my objectives. If it seems like I am in a hurry, it is because I am.

I hope you have a better idea now of the response i am looking for. I am not looking for a tea party, or to be cool or chill. I am looking for serious people engaged in serious work. If that is too intense for this place, I’ll be on my way soon enough.

1% of what I what just put in this post has been enough to get banned from icons like WordPress.org I think this place might be more like what I am looking for.

On that note, I shall now endeavor to blend and contribute to the code.

God speed, Atom.


#11

This doesn’t sound like a terribly hard thing to fix.


#12

I have two answers to what you have asked.

Answer 1

Do you believe this style of product management offers the path to addressing the fact that Atom file system manipulations are weak? I think this style of project management is important, crucial necessary and perpetuating this particular weakness in the software.

Have you noticed how Apple can’t make new products that don’t suck anymore? The company grows because of its increasing penetration of Asian markets where the decline of their products is not killing them. Observers see the money and figure they must be doing products right. The fact is they are doing products not just not great, but they are flubbing their corks. The only people who won’t say that with no information or people who think it is reasonble to pay north of $45million for a Rothko painting. How does Apple do this to themselves.? How do they convince themselves the new Apple Pro in 2013 or the MacBookPro in 2015 and then 2016 were not technical failures? How does Apple keep a straight face coming out with the phone of the future that is not caught up with vendor they buy their screens from?


$34 million for this painting. Perfect decoration for a project managment meeting.

II’ll tell you how. They have meetings to discuss issues and they miss the crap their pants.

Answer 2
I might not be at your tea parties yet, to sort through issues lists,but apart from giving money, I already am doing everything you asked.


#13

I am with you. I will do anything I can to help with this functionality.

What worries me is seeing it starting a thread two years ago and now we gotta sift it through every other issue that has come up do decide whether this is important enough to do. That is not good.


#14

You and I don’t have to do anything of the sort. The GitHub employees who work on Atom and Electron have limited time and have to prioritize powerful features and important performance metrics. Precise drag-and-drop support is a substantial UI issue, but I don’t believe that I or most people are as concerned about it as you are. That’s fine. I’m sure there are details that you don’t care about that I always notice, as well. I believe that part of @danPadric’s point was that the feature you’re talking about is pretty minor and, while your post makes a solid argument in support of the problem, the developers aren’t necessarily going to prioritize it even if they agree.

But that’s where we come in, the community. I have access to 100% of Atom’s code, and I can work on whatever problem makes me annoyed enough to want to spend my free time solving it instead of watching a show or reading a book. If I wanted to add drag-and-drop support for Atom, I’d first type apm develop tree-view. That clones the repo into the folder I’ve told Atom to associate with my projects, while also creating a symlink from .atom/dev/packages so that you can use the package by running Atom in developer mode (atom --dev). When Atom loads a package with the same name as a core package, it defers to the custom one, so we can start testing tree-view changes without doing anything else. I can then find where the drag events are defined and study them in order to figure out why directories and files are treated differently.


#15

- OFF TOPIC -

mood := friendly;

(PLEASE CLICK TO SEE DETAIL)

Hello @danallen,

You have passion and drive - good!
You question the status-quo - excellent!
You are the kind of person that this community needs.

Consider now - you and I are not equals. You are my better. I am not a programmer (not in the way this community define it). I have no direct influence over the Atom project. I am a catalyst. For me there is no ego to uphold or defend. My hope is simply to see Atom thrive.

You are in the position to focus your energy in contributing code - or such is my assumption.

Thank you @DamnedScholar for your understanding and voicing my intentions.

The user interaction to the software and documenting thereof are things that are important for me. My thought is that people who want to use the software because they understand it, would be passionate about it to make it better.

My opinion is not the same as that of the core designers (read: owners), I think. My guess is that the owners of the project focus on expanding the functionality (read: headlines) as wide possible, perhaps hoping others will fill the gaps. Honestly - headline features are much more fun to work on. From there now the “shocking” situation of not having such things as described within this topic.

The choice is yours to contribute to target the shortcomings or not. I think you will get willing collaboration from others in this community if you lead the way.

From my side I will continue making posts here to assist and motivate in my challenge-you attitude.

So… how do we focus our collaborating energies to make Atom and its community stronger?

Best regards.
- Dan Padric


#16

I didn’t know until a few hours ago that GitHub is supporting this. I thought this is volunteer effort. Bad assumption I made, based on the project being open source.

That’s how I look at it too.

So that is what I need to do. You are quite the guide. Thank you.

I looked into setting the type of environment you are talking about. I do not understand it very well. I have two ideas for what I can do.

idea 1 - This just came to me, reading your post. I just typed what you posted into the command line, got an error message.
image

idea 2 - I am not real thrilled about putting this on my main workstation. Instead, I can set up Atom on its own machine. I have the option of using another Mac, a windows 10 machine, or a Linux (Debian) desktop. Trying the Debian Desktop first.


#17

This sounds like APM (or perhaps NPM, since APM is modeled after it) expects the binary xcrun, which DuckDuckGo tells me is part of the XCode tools, so I would guess that either you have not installed XCode, or when you did that option was left unchecked or something along those lines. I would try downloading and running the latest XCode Tools and see if that fixes it.

idea 2 - I am not real thrilled about putting this on my main workstation. Instead, I can set up Atom on its own machine. I have the option of using another Mac, a windows 10 machine, or a Linux (Debian) desktop. Trying the Debian Desktop first.

My day-to-day machine is Win 10 and I use Linux all the time for experimentation, so those are the platforms I have experience on and can give better advice for.

Also, APM can install packages directly from a GitHub repository even if they aren’t published, so if you get something you like on your testing machine, all you have to do is push it to a repo and you can install it in one command. You don’t have to wait for a pull request to be accepted or for the new version to come out, and you definitely don’t have to move the files manually.


#18

image

That is correct, I do not have xcrun, xcode tools, or xcode.

Downloading xcode now. After the installation is up to date, I will retry apm develop tree-view

I am not sure but it seems like using linux instead of Windows or Osx in this context would require running some sort of desktop client. I am using this occasion to take my first look at the Debian desktop. Everything I have done with linux till now has been via ssh or the system console.

I am also starting on focused study and work with node.js. The only thing I know about it is I don’t understand anything about it except the string j-a-v-a-s-c-r-i-p-t is relevant.

I swam with Git for a few weeks a couple years ago. I think it is ingenious and step forward for software


#19

You’re familiar with native OOP development, right? At a very crude level, you could say that Node bridges the gap between what Python can do and the JavaScript language. It’s an interpreter with a bunch of modules attached that give power over various parts of the system it’s running on. The governing body is invested in keeping Node core very lightweight, so there’s even more emphasis placed on the ecosystem of community-produced modules (most of which get served through NPM).

A great intro to Node programming is Max Ogden’s Art of Node. Everything I know, I’ve learned from that, StackOverflow, and hacking into other people’s code to break it and then fix what I had broken.

Don’t worry if you have to break down your expectations and rebuild them in order to fluently read and write async functions and callbacks. The syntax there is kind of funny, but it all comes down to setting up subroutines that modify the state of the program or the data store instead of functions passing information directly between themselves.


#20

It was so free of complaints I tried it twice.

ll

Some drag and drop is present already. A file can be dragged and dropped. Right click duplicate would be helpful on both files and directories. I have not dragged directories anywhere. I can’t find much in the programs yet. I found a lot of node modules in the tree-view package.