I am a heavy user of vscode, let me summarize. . .
Scenes
Why compare them together? Obviously one of them is a note-taking tool, and the other is a professional editor. But they can do the following things, which leads to the intersection of them on the note-taking tool
-
Can actually be used as a note-taking tool
-
Both support the use of markdown
-
Projects that are still relatively active
-
More...
Reference: Future of Joplin
Overview
Difference |
joplin |
vscode |
Design goals |
Note-taking tool |
Editor (like ide) |
Editing functions |
Very weak |
Very professional |
Surrounding ecology |
Basically no |
Great ecology |
Inherent restrictions |
Almost none |
There are restrictions |
Participation difficulty |
Relatively easy |
Relatively easy (plugin) |
Next, let me explain the above differences and what they affect.
Design goals
vscode is undoubtedly a professional editor, and it continues to get better. At the same time, a flexible plug-in allows it to accomplish many things that an editor cannot do, and it can be turned into a class ide through a plug-in. So in terms of editing functions, many joplin has been implemented or has not yet been implemented has been implemented, including but not limited to the following:
-
markdown editing/preview support
-
Rich shortcut key support
-
markdown pdf printing
-
Paste pictures are automatically uploaded to the picture bed
-
Spell Check
-
File history
-
linter check
-
Good formatting function
-
Shortcut key mapping support (vim/jetbrains ide)
Yes, vscode is so powerful in many ways that it can even be responsible for requirements beyond the design goals through plugins. But at the same time, it does have some inherent limitations.
joplin is a tool designed for note-taking, which means that it starts from scratch without too many restrictions, and can implement any function required for note-taking.
-
Database-based editing management
-
Powerful and more useful search function
-
Simple and powerful synchronization function
-
Mobile terminal support (view)
-
More useful small functions...
But it also means that it is not perfect in many areas, especially in editing, and it can even be said that it will never catch up with a professional editor like vscode.
-
The editing function is very imperfect
-
There is no ecology, it is difficult to participate (even setting up a development environment is difficult)
-
The overall scalability is not high, which leads to the previous problem (mainly because the plug-in system does not exist)
Edit function
There is no doubt that vscode will win in editing.
Surrounding ecology
The plugin ecology of vscode is huge, and it even supports the development of many programming language projects. It supports shortcut key mapping support including but not limited to
-
Jetbrains IDE
-
Vim
-
Emacs
-
Sublime
-
Eclipse
-
Atom
-
Notepad++
-
Delphi
-
XCode
-
Other...
Almost all mainstream editors have shortcut key mapping plugins, so the support for shortcut keys vscode is very friendly to anyone. And like other functions needed to edit markdown, VSCode has almost all been implemented through plug-ins.
-
markdown all in one
-
markdown lint
-
markdown pdf
-
mermaid markdown
-
markdown github style
-
markdown emoji
-
markdown math
-
markdown todo
-
local history
-
word checker
According to joplin, the only third-party programs and scripts I have learned are the following
-
python joplin api
-
nodejs joplin api
-
joplin vscode plugin
-
joplin web
-
web clipper
-
Some scripts...
Of course, this is also due to the fact that joplin itself already contains many functions, and the extension system is too weak.
to sum up
It seems that vscode plus some third-party tools can replace joplin, so why choose joplin?
-
The fact that each tool is easy to use does not mean that they are also easy to use in combination. This comes from my fear of the small and beautiful npm package in the front-end community. The longer the tool chain required, the higher the complexity of their combination.
-
vscode has inherent limitations and is difficult or troublesome to solve.
-
The design goal is not a note-taking tool, so it will never be possible to support some functions needed for note-taking.