VS Code Plugin - The best of both worlds

The Editor within Obsidian is no where near as robust as an IDE (e.g. VS Code). The amount of effort necessary to duplicate the functionality is unreasonable to request. Rather than seek parity with VS Code I propose development of a VS Code Plugin.

The Graph View and BackLinks are the primary value adds for me in Obsidian. By making these features a plugin to VS Code we gain the benefits of having a full-fledged IDE and the extensive library of existing plugins. This also makes managing our “Vaults” with Git seamless and opens the opportunity to leverage Hugo in Github Actions to deploy a “Vault” for publication/sharing.


By publishing a VS Code Plugin, Obsidian may be able to attract a much larger user base and help the countless coders who live in their IDE.


I write articles, wikis, technical documentation, and collect code snippets as needed. This feature request would finally bridge my old notetaking method with the context I can derive from backlinks and the graph view present within Obsidian.

15 Likes

I don’t understand.
You can use VSCode as your editor and have backlinks and graph in Obsidian already.
What else is there to add?

That is still 2 applications.

If you have ever used a plugin like Docker or Kubernetes in VS Code, they create an entirely new tab in the left side navigation pane. If one of those tabs could be “Obsidian Graph View” that would be amazing.

VS Code is exceptionally customizable so I imagine adding a hotkey for “Graph View” to my workflow to help me quickly navigate my daily quagmire.

4 Likes

I’ve also toyed with building a tool to scrape jira tickets and backlink related issues to build a visual representation of where the fires are spreading.

Using something like a shared network store for the scraped data and sharing it to a team goes over a lot better than trying to get everyone to download an app, learn it’s quirks, and use it on top of all the other stuff they do in a day – whereas the IDE is ubiquitous.

1 Like

It would be two applications, but involve no additional work for the developers. And switching applications is something we do all the time.

If you want a VSCode extension, why not just use Foam or Dendron, or one of the others?

Personally, I far prefer working in the Obsidian editor (I don’t like VSCode at all, even as a text editor) and believe it gives the developers far more control of the user experience.

5 Likes

I in fact use VS Code on a daily basis and it is indeed a great editor but I honestly prefer having a dedicated/standalone app to write my stuff (personal or not). Simply because the way I code is not exactly the way I write (in terms of mood, cadence, inspiration, etc).

One striking example: my VS Code is dark coloured and my Obsidian is light coloured. Somehow I enter into different moods when using each of them.

For me, personally, no value at all by Obsidian becoming a VS Code plugin.

10 Likes

@Sanctus If you prefer to stay in VSCode, you might be interested in looking into Markdown Memo or Foam. There is also md-graph for graphing.

I, like others in this thread, prefer to use a separate app like Obsidian, but there is some great work being doing in VSCode as well.

6 Likes

Some additional context:
I’ve been moving my notes into obsidian for the last 2 months however, frequently enough to be a nuisance I must open individual files in VS Code to edit it them. Then, once I begin editing in VS Code, I don’t jump back to Obsidian until I want to reference the graph. During the creation of notes and documentation this back and forth is ultimately what I am seeking to avoid with this plugin request.

@Dor
Thanks for the recommendations, I’ll consider Foam / Dendron as possible solutions. At first glance it appears that Foam’s graphs are not “as lovely” as Obsidian’s but I digress.

Part of my ask here comes from an assumption that the graphing functionality of Obsidian should be easy to re-use – minimizing development time.

@mark1nhu
This is an interesting take, thank you for sharing how you leverage themes to create mental separations in virtual space.

Having something that is stand-alone is nice, no doubt. A large part of my ask is to address the significant limitations of Obsidian’s text editor. As an example, I have a nice table formatting plugin in VS Code, I hit a hotkey and my markdown table is sized and spaced beautifully. In Obsidian, this would need to be a feature/plugin request. Not to mention, the editor’s (current) column limits prevent me from taking the tedious approach of doing the spacing manually.

Example:

| Common Name | Account Number | Key |
|:---|:---|:---|
| USEDEV01 | 9876543 | g0leLQ1NuYeBxtzFffIq354O |
| SOUR | 6555 | KUW2xR3UZgA5Ocx6dXr5uSFD | 

Press magic hotkey and :mage:

| Common Name | Account Number | Key                      |
|:------------|:---------------|:-------------------------|
| USEDEV01    | 9876543        | g0leLQ1NuYeBxtzFffIq354O |
| SOUR        | 6555           | KUW2xR3UZgA5Ocx6dXr5uSFD |

Yes they render the same but while in the raw its hard to read, especially when a table has 10+ rows and Obsidian’s editor’s width is word-wrapping the table into a sloppy soup.
– As an aside, I use an ultrawide monitor so the editor width is even more noticeable –

@death.au
Thanks for the recommendations :slight_smile:

In my haste to migrate things to Obsidian, I forgot to look for VS Code plugins for the graph functionality – unfortunately, logically, there would be no need to use Obsidian if these plugins worked as well or better.

For the first time ever, I thought I had a note app that would solve all my problems. I still believe Obsidian can be that app, I just need an editor with a little more horsepower.


A problem solver might ask me what am I trying to solve for; briefly stated:

Requirements

  • App for Windows, Mac, Linux
    • I am not always writing, a portable and consistent reading experience
  • Store notes in .md
  • Syntax parity with Github markdown
  • Manageable folder structure
    • separation of projects – personal, work, writing

Nice to Have

  • App for Android (and iOS I guess :stuck_out_tongue: )
    • Portable reading and notes on the go
  • Hosting
  • Sharing
    • for more sensitive notes - User to User or something akin to Firefox Send
3 Likes

The editor will change, though to wysiwyg which you may not like. And there will be mobile versions.

I like the current editor, but there are many functions it doesn’t have that I want. So I do a lot of my writing in other programs: WriteMonkey, occasionally Typora, various programs on Android. Also use other programs, text editors etc for bulk editing. I can stick links etc in other programs (without autocomplete) and Obsidian picks them up. Also use ProWritingAid. I’m used to program switching, and focus on the file not the program.

By the sounds of this, Obsidian will likely solve most (if not all) of your needs in time, but Obsidian is still young.
You’re probably right that the table formatting hotkey would likely be a plugin (once we have an API to do so). It might be a good idea to make a note of all the things you end up jumping to VSCode to do and/or which markdown plugins you use in VSCode - it might give us a good direction to go in with the editor stuff.
The obsidian devs tend to do their updates in cycles focused on a particular section. They recently did a lot of work on the graph, and at the moment are focused on publish. I’m sure before too long there will be another round of editor updates to polish the editor a bit more. When that time comes, they’ll be looking at feature requests on the forum.

As @Dor indicated, there is a WYSIWYG editor in Obsidian’s future, but my understanding is that will exist in addition to the source editor.

As for your nice to haves:
Mobile apps are on the roadmap, along with a sync service, but it will be a while off, yet.
Obsidian Publish - for hosting notes - is actually in insider testing right now.
And there are already requests for sharing single pages privately, so I see that becoming a thing in the future, too.

1 Like

My understanding was that it would be only one editor (preview and edit being separate now), but that source would be a separate view - like Typora. Is that not correct?

I could be wrong, but my understanding is that the current preview and edit views wouldn’t go away, but WYSIWYG would be a new one which would be the default view. (That being said, if WYSIWYG is good enough, there would be no need for “preview”).

The current “editor” view is basically what Typora’s “source” view is.

So, like Typora, by default you’d be in the WYSIWYG mode, but could shift back to “source” mode (currently “editor” in Obsidian) whenever you need to.

Can i know how do you make neat tables in vscode.

I’m also looking for something similar. :sweat_smile:
Thanks

But that would mean maintaining two editors. I can’t see that being a sensible design choice.

At the moment there’s two underlying engines (edit and preview) and there are inconsistencies at times and no true source view since the edit view reflects some markdown. With WYSIWYG there should surely just be one engine for edit with fast update to view for most of the screen (depending on design choices).
With any of these a true source view has be available because the plaintext of the underlying document must always exist.

It did occur to me that the source view might not actually be pure source, but more akin to text editors which are set up to highlight code.

Yeah, the “Editor” view at the moment is basically a souped-up source editor. It does syntax highlighting, and the syntax highlighting styles are being taken advantage of to do some presentation (headings, italics, etc). The current editor is the source view for the future WYSIWYG, and if they polish the WYSIWYG view up enough, I can see a case for ditching the preview altogether — and perhaps toning down the styles in the source editor.

Mmm. Text Editors usually have different highlight modes set by language. With option for none - though I don’t know many and remember fewer, so I might be wrong. But some mode control would be useful.

I use both vscode and obsidian very heavily, so directionally I am interested in this thread. I wouldn’t agree fully about integrating obsidian into vs code nor would I rule that out if there’s a good usecase for it.

Based on the additional context, I see that the OP is okay with writing vs code inside vs code and wants a graph view isnide vscode. If that’s the main issue, there are useful extensions that can do that as suggested by other replies.

I would actually prefer to do so inside by default inside obsidian and when I need to copy paste image into it, I then open using typora. Typora is still my default app for markdown files.

Subscribing to this thread in case, there’s some new and interesting usage by developer-thoughtworkers who use both software heavily

@verma

1 Like

Hi, thanks for the useful information about the plugins for vsc. After a glimpse over the Foam and the Dendron, I’m wondering the difference between these two plugins.

Hi, I’m no expert on either of them. There’s also Memo I think. I just installed them to look.

My impression is that Foam is directly trying to offer similar functionality to Roam, but with markdown documents. It’s going down the block route with quite a complex UID system.
Dendron is different and trying to have more of a hierarchical structure to notes but also having the links.
Foam has a degree of first mover advantage in the VSCode space.

Those I’ve seen commenting that they prefer one or the other tend to have clear preferences. Many Dendron users appear comforted by the use of folders.

2 Likes