this post was submitted on 12 Aug 2023
429 points (95.9% liked)

Asklemmy

43892 readers
1059 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_A@discuss.tchncs.de~

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[โ€“] snowe@programming.dev 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.

[โ€“] bugsmith@programming.dev 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).