this post was submitted on 12 Aug 2023
415 points (95.8% liked)

Asklemmy

43970 readers
1468 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy πŸ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_[email protected]~

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 5 points 1 year ago (2 children)

That's a bit of a silly statement. Once you've installed a few extensions for your language (a language server and linting at minimum), it is effectively an IDE with a reasonably powerful debugger included. Just because it's modular and not "batteries included" doesn't make it incomparable.

[–] [email protected] 13 points 1 year ago (1 children)

Have you ever used JetBrains products for any serious development?

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago)

Yes, I've made heavy use of PyCharm, IntelliJ and Datagrip and I'm a huge fan of them all.

[–] [email protected] 2 points 1 year ago (1 children)

Microsoft straight up says it’s not an IDE.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

Sure. But I didn't say it was either. I only pointed out that it's silly to say "there's no comparison", when most functionality is easily achievable on both. And depending on language, it's not even difficult.

Edit: In fairness, I did say "it's effectively an IDE", but I stand by the point that after a few extensions - what is the difference? If I can debug, refactor, and and get complete intellisense (including finding declarations etc), I'm doing more or less everything I would in a dedicated IDE.

Edit 2: I feel I've gone to far the other way. I have used am am aware of some of the capabilities that a fill fledged IDE has over something like VSCode. Especially for languages like those of the C-family. But I do take issue with implying they're not comparable. For many usecases and languages, they're totally comparable.

[–] [email protected] 3 points 1 year ago (1 children)

I guess it depends on your goals. I install Intellij, or WebStorm, or PyCharm, or RubyMine, and I get a working environment right out of the box. I don't have to figure out what functionality is missing, then go search for the most maintained and up to date plugin, hoping that it has all the features I need. It just works. I use VS Code a lot, every day, but it's sorely lacking, even with all of the plugins it has, in basic stuff like refactoring an entire codebase, or just regular old code cleanup. I'll give a few examples, they might have equivalents in the vs code ecosystem, but I have not been able to find them.

  1. Inspect Code

In JB products I can choose Code > Inspect Code, from the menu bar, and have it show everything wrong with the project, including code that is never hit, code that is duplicated, Control Flow issues, Data Flow issues, typos, probable bugs, Security issues (including in your dependencies), migration aids, the list goes on and on and on. And it doesn't just do it for one language in your repo, it does it for every file type. So you don't have to install a plugin that finds security issues in your poms, and then one that finds them in package.json, and then another for your gemfile, etc.

  1. Structural Search and Replace

This one is quite hard to describe, so I'll let the intellij docs explain it for me. https://www.jetbrains.com/help/idea/structural-search-and-replace.html

A conventional search process does not take into account the syntax and semantics of the source code. Even if you use regular expressions, IntelliJ IDEA still treats your code as a regular text. The structural search and replace (SSR) actions let you search for a particular code pattern or grammatical construct in your code considering your code structure.

IntelliJ IDEA finds and replaces fragments of source code, based on the search templates that you create and conditions you apply.

There are a ton of things that I can't find equivalents for in VS Code, but these are two major ones.

[–] [email protected] 2 points 1 year ago

It's that's fine that you've got some examples of features that are more powerful in JB products. It would be a great shame if such a heavy and reasonably expensive program didn't.

But I'm not arguing that VS Code is better or worse. I'm arguing that it is comparable (on the sense that it is worth of comparison). Which it is.

I agree that JB's search is fantastic. Unmatched perhaps. All of that indexing it does when you open a project really pays off.

But you can get a lot of JB's functionality in VS Code. You can get a very good code inspection in several languages, Python being the premier example. You can also get excellent docker integration, excellent linting, a reasonable search and replace across all files, and a top notch debugging experience for some languages (Python being the premier example again).

Sure JB products do some of that stuff better (at the cost of being heavier programs with significant start up time).

I use both. I like both. I believe VS Code is very formidable and could be the sole editor a developer uses flr many types of projects (Web Development, Python projects, many Go projects too all come to mind).