Atom IDE conflicts


#1

Can I ask how exactly I’m supposed to integrate the Atom IDE features with the rest of Atom?

Atom IDE diagnostics and Linter are incompatible, or at least I get an annoying error message if Linter is enabled and IDE diagnostics are turned on. But IDE diagnostics is not a complete replacement for Linter, in particular, grammars such as Latex don’t have Atom IDE support. Is there a way to have IDE diagnostics for some grammars, and Linter for others?
Also, do I just need to disable the Linter package, or do I also need to disable ALL linter-related packages (linter-ui-default, linter-flake8, linter-chktex, etc.)? I seem to be getting repeated error messages (using either diagnostics OR linter) from both flake8 and pyflakes, I think this only started once I set up atom_ide and ide_python.

Are there other conflicts between the IDE features and packages such as MagicPython and atom_beautify? I know that atom_ide offers syntax coloring and auto-formatting, but I don’t know if there are problems having both set up.

It seems like IDE offers some nice features, but many of them have already been offered for a while by other packages, and the IDE is designed sort of as an “all-in” package without a lot of granular control. I would love to see a guide on how to manage all of my existing packages to have everything working together smoothly.


#2

The only way in your power is to disable one package and enable the other. That’s not very convenient, but the other possible solutions involve changing how the packages themselves behave. So it’s probably going to be one or the other.

Also, do I just need to disable the Linter package, or do I also need to disable ALL linter-related packages (linter-ui-default, linter-flake8, linter-chktex, etc.)?

atom-ide-ui is compatible with most linter features. All you have to do is disable linter.

It seems like IDE offers some nice features, but many of them have already been offered for a while by other packages, and the IDE is designed sort of as an “all-in” package without a lot of granular control.

As you can read in the post where atom-ide was introduced, the project is intended as an upgrade for many features that have been supported by the Atom ecosystem in the past, but for which the relatively new development of language servers can help with standardization and allowing the greatest number of developers to have high-quality experiences. The work is ongoing, so some planned features may not be fully supported. Such is the nature of open-source, where sometimes the airplane you bought passage on is being rebuilt midflight.

With the exception of explicit incompatibilities, you can use whatever combination of packages you feel offer you what you need.


#3

I actually had to disable linter-ui, because I was getting a weird thing where I would have both the linter and the diagnostics panes appearing in my lower dock, but the linter pane would be empty (since linter was disabled). And I had to disable linter-flake8 because once I installed ide-python, I started getting duplicate warnings for everything from both flake8 and pyflakes. (In the end it made more sense to disable diagnostics everywhere and turn linter back on, but I still have to leave linter-flake8 disabled now and linter somehow picks up messages from somewhere else.)

The only incompatibility that is actually made explicit is with linter, but it does feel like there are some implicit incompatibilities as well. I realize my post turned into a little bit of a rant, but I really am trying to ask a couple of questions here: 1: how are other people using the features of atom-ide, alongside their previously used packages or in place of them? 2: given that the whole point of Atom is the modularity and customization, why isn’t there more granularity in deciding when the atom-ide features do/do not go into effect?


#4

That one’s easy: it’s because the package authors control what that package does / offers. Atom cannot differentiate between the different “features” a package offers; after all, what would that even mean?

I use linter, linter-ui-default, and linter-spell for spell checking, while using ide-haskell for Haskell stuff (It’s compatible with linter too). I have disabled atom-ide-ui though.