<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Abubakar Azeem</title>
    <description>The latest articles on DEV Community by Abubakar Azeem (@bkaz).</description>
    <link>https://dev.to/bkaz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F597113%2Fe9961ec2-7b24-494c-8716-3aca415beb46.png</url>
      <title>DEV Community: Abubakar Azeem</title>
      <link>https://dev.to/bkaz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bkaz"/>
    <language>en</language>
    <item>
      <title>Why I Stopped Waiting on Ruby LSP and Built My Own Fuzzy Symbol Search for VS Code</title>
      <dc:creator>Abubakar Azeem</dc:creator>
      <pubDate>Fri, 07 Aug 2026 16:15:54 +0000</pubDate>
      <link>https://dev.to/bkaz/why-i-stopped-waiting-on-ruby-lsp-and-built-my-own-fuzzy-symbol-search-for-vs-code-5a53</link>
      <guid>https://dev.to/bkaz/why-i-stopped-waiting-on-ruby-lsp-and-built-my-own-fuzzy-symbol-search-for-vs-code-5a53</guid>
      <description>&lt;p&gt;If you've worked in a mid-to-large Rails codebase in VS Code, you've probably run into this: you want to jump to a method, you hit Ctrl/Cmd+T, you type a few letters — and either Ruby LSP hasn't finished indexing yet, or your search doesn't match because you're one character off from the real name.&lt;/p&gt;

&lt;p&gt;Ruby LSP's workspace symbol search is genuinely useful once it's running, but it has two costs: it needs the &lt;code&gt;gem install&lt;/code&gt; + LSP setup, and it needs a full index build before symbol search is reliable. On a large monolith, that's not instant. And even indexed, it does near-exact matching — abbreviate or misspell a symbol and you get nothing.&lt;/p&gt;

&lt;p&gt;The alternative most people fall back on is VS Code's built-in text search (Cmd+Shift+F). It's fast and needs no setup, but it's just text matching — it doesn't know &lt;code&gt;def process_payment&lt;/code&gt; is a method definition versus a comment mentioning "process_payment," and it has no concept of a Ruby symbol at all.&lt;/p&gt;

&lt;p&gt;I wanted something in between: instant, zero-setup, and actually aware of Ruby syntax — not just literal text.&lt;/p&gt;

&lt;h3&gt;
  
  
  What I built
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Ruby Symbol Search&lt;/strong&gt; indexes Ruby symbols directly via lightweight pattern matching (not a full AST parse — deliberately, so indexing stays near-instant even on file save) across:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Classes and modules (including &lt;code&gt;class &amp;lt;&amp;lt; self&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Methods (&lt;code&gt;def&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Constants&lt;/li&gt;
&lt;li&gt;Attributes (&lt;code&gt;attr_reader/writer/accessor&lt;/code&gt;, &lt;code&gt;mattr_*&lt;/code&gt;, &lt;code&gt;attribute&lt;/code&gt;, &lt;code&gt;delegate&lt;/code&gt;, and friends)&lt;/li&gt;
&lt;li&gt;Associations (&lt;code&gt;belongs_to&lt;/code&gt;, &lt;code&gt;has_many&lt;/code&gt;, &lt;code&gt;has_one&lt;/code&gt;, &lt;code&gt;has_and_belongs_to_many&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Scopes, aliases, namespaces, rake tasks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The headline feature is fuzzy search: &lt;code&gt;Ctrl+Shift+R&lt;/code&gt; / &lt;code&gt;Cmd+Shift+R&lt;/code&gt; opens a typo-tolerant search across every indexed symbol in your workspace. Get the name roughly right and it finds it. You can also scope results to one file with &lt;code&gt;@filename&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;It also wires the same index into VS Code's native "Go to Symbol in Workspace" picker (Ctrl/Cmd+T), Go to Definition (F12), and an Outline view in the sidebar — so it's not a separate tool bolted on the side, it's feeding the editor's built-in navigation too.&lt;/p&gt;

&lt;h3&gt;
  
  
  What it isn't
&lt;/h3&gt;

&lt;p&gt;It's not a replacement for Ruby LSP if you want type inference, hover documentation, or diagnostics. It's specifically solving "get me to this symbol fast," and it works fine alongside Ruby LSP if you have it installed (there's a note in the README on avoiding duplicate results if both index the same symbols).&lt;/p&gt;

&lt;h3&gt;
  
  
  Try it
&lt;/h3&gt;

&lt;p&gt;It's free and MIT licensed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Marketplace: &lt;a href="https://marketplace.visualstudio.com/items?itemName=vscode-bkaz.ruby-symbol-search" rel="noopener noreferrer"&gt;https://marketplace.visualstudio.com/items?itemName=vscode-bkaz.ruby-symbol-search&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Source: &lt;a href="https://github.com/bk-az/ruby-symbol-search" rel="noopener noreferrer"&gt;https://github.com/bk-az/ruby-symbol-search&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you hit a Ruby symbol pattern it doesn't recognize, or a case where the fuzzy matching gets it wrong, open an issue — I'd rather know about the gaps than not.&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>vscode</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
