Workshop 3 - Visual Studio Code & Git Basics

In this workshop, we will guide you through the installation and use of Visual Studio Code as a powerful text editor/IDE. We will also cover Git for version control, including creating repositories, branching, merging, and resolving conflicts.

Workshop Topics

  • Visual Studio Code: Installation and Overview
    We began by discussing what a text editor and an IDE are, introducing Visual Studio Code as a versatile tool for coding. We also highlighted alternatives such as IntelliJ IDEA, Sublime Text, and Neovim.

  • How to Install Visual Studio Code
    Step-by-step installation instructions for setting up Visual Studio Code on your machine, including platform-specific tips.

  • Using the Interface
    We explored the essential components of the VS Code interface:

    • Opening folders and files
    • Using the built-in terminal, including split terminals and different terminal types
    • Understanding the sidebar tools (File Explorer, Search, Extensions)
    • Common extensions such as GitLens, ESLint, and Tailwind CSS IntelliSense.
  • Configuring VS Code for JS/TS Development
    Demonstration of useful configurations like formatting on save, keyboard shortcuts (Ctrl + C, Ctrl + V, Cmd + P), and adding the code command to your terminal PATH for quick access.

  • Introduction to Git
    Overview of Git as a version control system. Topics covered:

    • Initializing a new Git repository
    • Adding and committing files (e.g., index.html, styles.css)
    • Creating and viewing the history of commits (git log)
    • Pushing code to GitHub and adding collaborators.
  • Branching and Merging
    We introduced branching, covering:

    • Creating new branches (git checkout -b branchname)
    • Merging branches into the main branch, pushing changes, and resolving conflicts directly in VS Code.
  • Pull Requests and Reviews
    A detailed walkthrough on creating a pull request, reviewing changes, and resolving merge conflicts.

  • Advanced Git Features
    We covered rebasing (git rebase), squashing commits, and the differences between merge and rebase strategies. We also introduced forking and its utility in collaborative development.

Materials

Workshop recordingSlidesHomework
RecordingLinkAssignment 3