<?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>Forem: Prism | Software Developer</title>
    <description>The latest articles on Forem by Prism | Software Developer (@prismcoder).</description>
    <link>https://forem.com/prismcoder</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3545817%2Fceba7c84-2a2d-4b51-86fa-9ccb2386b633.jpg</url>
      <title>Forem: Prism | Software Developer</title>
      <link>https://forem.com/prismcoder</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/prismcoder"/>
    <language>en</language>
    <item>
      <title>Stop Clicking, Start Coding: The Ultimate Visual Studio Shortcuts Cheatsheet</title>
      <dc:creator>Prism | Software Developer</dc:creator>
      <pubDate>Wed, 08 Oct 2025 13:48:02 +0000</pubDate>
      <link>https://forem.com/prismcoder/stop-clicking-start-coding-the-ultimate-visual-studio-shortcuts-cheatsheet-4mn6</link>
      <guid>https://forem.com/prismcoder/stop-clicking-start-coding-the-ultimate-visual-studio-shortcuts-cheatsheet-4mn6</guid>
      <description>&lt;p&gt;Tired of constantly switching between your keyboard and mouse? Mastering keyboard shortcuts is one of the fastest ways to level up your productivity as a developer. It not only saves you countless clicks but also helps you stay focused and in the flow.&lt;/p&gt;

&lt;p&gt;To help you out, I've created a complete cheatsheet with the most essential Visual Studio shortcuts. Whether you're a beginner or an experienced C#/.NET dev, you'll find something useful here.&lt;/p&gt;

&lt;p&gt;Let's dive in!&lt;/p&gt;




&lt;h2&gt;
  
  
  📄 General Editing
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + C&lt;/code&gt;&lt;/strong&gt;: Copy selected text.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + X&lt;/code&gt;&lt;/strong&gt;: Cut selected text.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + V&lt;/code&gt;&lt;/strong&gt;: Paste copied text.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + Z&lt;/code&gt;&lt;/strong&gt;: Undo the last action.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + Y&lt;/code&gt;&lt;/strong&gt;: Redo the last action.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + S&lt;/code&gt;&lt;/strong&gt;: Save the current file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + Shift + S&lt;/code&gt;&lt;/strong&gt;: Save all files.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + K, Ctrl + C&lt;/code&gt;&lt;/strong&gt;: Comment selected lines.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + K, Ctrl + U&lt;/code&gt;&lt;/strong&gt;: Uncomment selected lines.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + D&lt;/code&gt;&lt;/strong&gt;: Duplicate the current line.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Shift + Del&lt;/code&gt;&lt;/strong&gt;: Delete the current line.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + F&lt;/code&gt;&lt;/strong&gt;: Find in the file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + H&lt;/code&gt;&lt;/strong&gt;: Find and replace.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🗺️ Navigation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + Tab&lt;/code&gt;&lt;/strong&gt;: Switch between open files.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + ,&lt;/code&gt;&lt;/strong&gt;: Go to any file / type / member.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;F12&lt;/code&gt;&lt;/strong&gt;: Go to definition.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + -&lt;/code&gt;&lt;/strong&gt;: Navigate backward.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + Shift + -&lt;/code&gt;&lt;/strong&gt;: Navigate forward.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + G&lt;/code&gt;&lt;/strong&gt;: Go to a specific line.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + ]&lt;/code&gt;&lt;/strong&gt;: Move to matching bracket.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + M, Ctrl + M&lt;/code&gt;&lt;/strong&gt;: Collapse / Expand code region.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + M, Ctrl + L&lt;/code&gt;&lt;/strong&gt;: Collapse / Expand all regions.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💻 Code Editing
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + Space&lt;/code&gt;&lt;/strong&gt;: Autocomplete (IntelliSense).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + K, Ctrl + D&lt;/code&gt;&lt;/strong&gt;: Format the entire document.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + K, Ctrl + F&lt;/code&gt;&lt;/strong&gt;: Format selection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + .&lt;/code&gt; or &lt;code&gt;Alt + Enter&lt;/code&gt;&lt;/strong&gt;: Quick Actions and Refactoring.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;F2&lt;/code&gt;&lt;/strong&gt;: Rename symbol.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + R, Ctrl + E&lt;/code&gt;&lt;/strong&gt;: Encapsulate field.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + Shift + Space&lt;/code&gt;&lt;/strong&gt;: Parameter info.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Alt + ↑ / ↓&lt;/code&gt;&lt;/strong&gt;: Move line up / down.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Shift + Alt + ↑ / ↓&lt;/code&gt;&lt;/strong&gt;: Copy line up / down.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🪟 Window Management
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + Alt + L&lt;/code&gt;&lt;/strong&gt;: Show Solution Explorer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + Alt + O&lt;/code&gt;&lt;/strong&gt;: Show Output Window.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + \ , E&lt;/code&gt;&lt;/strong&gt;: Show Error List.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Shift + Esc&lt;/code&gt;&lt;/strong&gt;: Close current tool window.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Alt + F7&lt;/code&gt;&lt;/strong&gt;: Move to the next window.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + W, S&lt;/code&gt;&lt;/strong&gt;: Solution Explorer window.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🐞 Debugging
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;F5&lt;/code&gt;&lt;/strong&gt;: Start debugging.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + F5&lt;/code&gt;&lt;/strong&gt;: Start without debugging.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;F9&lt;/code&gt;&lt;/strong&gt;: Set / Remove breakpoint.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;F10&lt;/code&gt;&lt;/strong&gt;: Step over.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;F11&lt;/code&gt;&lt;/strong&gt;: Step Into.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Shift + F11&lt;/code&gt;&lt;/strong&gt;: Step Out.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Shift + F5&lt;/code&gt;&lt;/strong&gt;: Stop debugging.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + Alt + Q&lt;/code&gt;&lt;/strong&gt;: QuickWatch window.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📂 File Management
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + N&lt;/code&gt;&lt;/strong&gt;: Create a new file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + O&lt;/code&gt;&lt;/strong&gt;: Open a file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + Shift + N&lt;/code&gt;&lt;/strong&gt;: Create a new project.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + Shift + O&lt;/code&gt;&lt;/strong&gt;: Open project / solution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;Ctrl + F4&lt;/code&gt;&lt;/strong&gt;: Close the current document.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Your Turn!
&lt;/h3&gt;

&lt;p&gt;Bookmark this post for easy access, and try to incorporate one or two new shortcuts into your workflow each day. Before you know it, they'll become second nature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are your favorite, lesser-known Visual Studio shortcuts? Share them in the comments below!&lt;/strong&gt; 👇&lt;/p&gt;

</description>
      <category>visualstudio</category>
      <category>dotnet</category>
      <category>productivity</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Stop Writing "fix bug". Clean Up Your Commits With This VS Code Extension</title>
      <dc:creator>Prism | Software Developer</dc:creator>
      <pubDate>Tue, 07 Oct 2025 17:06:09 +0000</pubDate>
      <link>https://forem.com/prismcoder/stop-writing-fix-bug-clean-up-your-commits-with-this-vs-code-extension-jof</link>
      <guid>https://forem.com/prismcoder/stop-writing-fix-bug-clean-up-your-commits-with-this-vs-code-extension-jof</guid>
      <description>&lt;p&gt;We've all been there. You're looking through a project's history (maybe even your own) and you find this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git log &lt;span class="nt"&gt;--oneline&lt;/span&gt;
a1b2c3d &lt;span class="o"&gt;(&lt;/span&gt;HEAD -&amp;gt; main&lt;span class="o"&gt;)&lt;/span&gt; fix bug
e4f5g6h update
c7d8e9f more stuff
b0a1b2c temp commit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It's a mess. It's uninformative, unprofessional, and completely useless when you're trying to find which change broke the build.&lt;/p&gt;

&lt;p&gt;But what if I told you that you could have a clean, standardized, and useful git history with almost zero extra effort? I recently posted a Reel on my "Prism" channel showing this exact trick, and here’s the detailed breakdown.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem: Commit Message Fatigue
&lt;/h2&gt;

&lt;p&gt;The issue isn't that we don't want to write good commit messages. It's that following a specific format like &lt;code&gt;type(scope): description&lt;/code&gt; can be tedious. Remembering all the types (&lt;code&gt;feat&lt;/code&gt;, &lt;code&gt;fix&lt;/code&gt;, &lt;code&gt;chore&lt;/code&gt;, &lt;code&gt;docs&lt;/code&gt;...) and getting the syntax right breaks your workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution: Conventional Commits + VS Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.conventionalcommits.org/en/v1.0.0/" rel="noopener noreferrer"&gt;Conventional Commits&lt;/a&gt; is a simple specification for adding structure to commit messages. This not only makes them readable for humans, but also for machines, allowing for cool things like automatic CHANGELOG generation and semantic versioning.&lt;/p&gt;

&lt;p&gt;The real magic happens when a tool does the work for you. That's where the &lt;a href="https://marketplace.visualstudio.com/items?itemName=vivaxy.vscode-conventional-commits" rel="noopener noreferrer"&gt;Conventional Commits&lt;/a&gt; extension for VS Code comes in.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your New 3-Step Workflow
&lt;/h2&gt;

&lt;p&gt;Instead of blindly typing in the "Source Control" message box, you'll now do this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Stage Your Changes:&lt;/strong&gt; Make your code changes as you normally would. In my case, I'm working on a small graphics engine in C++.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use the Extension's Helper:&lt;/strong&gt; Once your changes are staged, look for the small &amp;lt;/&amp;gt; icon in the "Source Control" panel's title bar.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fill in the Blanks:&lt;/strong&gt; Clicking the icon opens an interactive menu that guides you step-by-step:

&lt;ol&gt;
&lt;li&gt;Select the type of change: Choose the type. Is it a new feature? feat. A bug fix? fix. Something that doesn't affect production code? chore.&lt;/li&gt;
&lt;li&gt;What is the scope of this change: Define the scope. In my C++ project, this could be rendering, physics, core, etc.&lt;/li&gt;
&lt;li&gt;Write a short, imperative tense description: The clear, concise description. For example: Add initial triangle rendering logic.&lt;/li&gt;
&lt;li&gt;Provide a longer description (Optional): Add more detail if needed.&lt;/li&gt;
&lt;li&gt;Are there any breaking changes? / Does this change affect any open issues?&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;p&gt;And that's it! The extension perfectly formats the commit message for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Result: A Pristine History
&lt;/h2&gt;

&lt;p&gt;Compare the mess from the beginning with this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git log &lt;span class="nt"&gt;--oneline&lt;/span&gt;
f9e8d7c &lt;span class="o"&gt;(&lt;/span&gt;HEAD -&amp;gt; main&lt;span class="o"&gt;)&lt;/span&gt; feat&lt;span class="o"&gt;(&lt;/span&gt;rendering&lt;span class="o"&gt;)&lt;/span&gt;: Add initial triangle rendering logic
a2b3c4d fix&lt;span class="o"&gt;(&lt;/span&gt;core&lt;span class="o"&gt;)&lt;/span&gt;: Correct memory leak &lt;span class="k"&gt;in &lt;/span&gt;object creation
d5e6f7g chore&lt;span class="o"&gt;(&lt;/span&gt;deps&lt;span class="o"&gt;)&lt;/span&gt;: Update Glad and GLFW libraries
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It's readable, professional, and incredibly useful.&lt;/p&gt;

&lt;p&gt;This is a tiny change to your workflow that has a massive impact on your project's quality, especially when collaborating with others.&lt;/p&gt;

&lt;p&gt;If you found this helpful, check out my &lt;a href="https://www.youtube.com/@PrismCoder" rel="noopener noreferrer"&gt;YouTube channel, Prism&lt;/a&gt;, for more practical tutorials on graphics, web, and desktop development.&lt;/p&gt;

&lt;p&gt;What are your favorite productivity extensions for VS Code? Let me know in the comments below!&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>git</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>Introducing Prism: My New YouTube Channel for Software Developers</title>
      <dc:creator>Prism | Software Developer</dc:creator>
      <pubDate>Mon, 06 Oct 2025 17:59:51 +0000</pubDate>
      <link>https://forem.com/prismcoder/introducing-prism-my-new-youtube-channel-for-software-developers-231o</link>
      <guid>https://forem.com/prismcoder/introducing-prism-my-new-youtube-channel-for-software-developers-231o</guid>
      <description>&lt;p&gt;Hello everyone!&lt;/p&gt;

&lt;p&gt;My name is Prism, and I'm incredibly excited to announce the launch of my new YouTube channel.&lt;/p&gt;

&lt;p&gt;For a long time, I've been passionate about the art of building software from the ground up. There's a special kind of magic in seeing code turn into something functional and visual. My mission with Prism is to share that magic with you, breaking down complex topics into clear, actionable steps.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to Expect
&lt;/h2&gt;

&lt;p&gt;The channel will focus on three main pillars of software development:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Graphics Programming &amp;amp; Engine Dev:&lt;/strong&gt; This will be the flagship series! We'll start by building a complete 3D graphics engine from scratch. I'll document the entire journey, from vectors and matrices to rendering our first complex scene.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Development:&lt;/strong&gt; We'll also dive into building modern, full-stack web applications.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Desktop Applications:&lt;/strong&gt; And finally, we'll explore the principles of creating powerful native software.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Official Kick-Off
&lt;/h2&gt;

&lt;p&gt;Here is the official 15-second intro video that gives you a feel for the channel and a peek at the engine we'll be building:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/shorts/-LRcYq3nvtI" rel="noopener noreferrer"&gt;https://www.youtube.com/shorts/-LRcYq3nvtI&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  This is for You
&lt;/h2&gt;

&lt;p&gt;Whether you're a student just starting out, a seasoned dev looking to explore a new field, or just a curious mind, I'm building this community for you.&lt;/p&gt;

&lt;p&gt;I'd love for you to join me on this journey. You can subscribe to the YouTube channel &lt;a href="https://www.youtube.com/@PrismCoder" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;What topics are you most excited about? Let me know in the comments below!&lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>gamedev</category>
      <category>webdev</category>
      <category>youtube</category>
    </item>
  </channel>
</rss>
