Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add interactive tutorial mode for Swift extension #1469

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Konikz
Copy link

@Konikz Konikz commented Mar 29, 2025

Tutorial Mode for VS Code Swift Extension

Description

This PR implements an interactive tutorial mode for the VS Code Swift extension, addressing the feature request for GSoC'25. The tutorial provides a guided experience for new users to learn how to use Swift in VS Code, covering essential workflows and features.

Implementation Details

Core Components

  1. SwiftTutorial class (src/tutorial/swiftTutorial.ts)

    • Manages tutorial state and progression
    • Handles sample project creation
    • Integrates with VS Code's walkthrough API
  2. Tutorial Assets

    • Properly packaged in the extension
  3. Configuration

    • Added to package.json for walkthrough definition
    • Integrated with VS Code's command system

Technical Highlights

  • Uses VS Code's native walkthroughs API for seamless integration
  • Implements singleton pattern for tutorial state management
  • Provides comprehensive test coverage
  • Follows VS Code extension best practices

Testing

  • Added unit tests for all tutorial functionality
  • Test coverage includes:
    • Tutorial display and navigation
    • Sample project creation
    • State management
    • Error handling

Documentation

  • Updated README.md with tutorial feature documentation
  • Added inline code documentation
  • Included usage

Copy link
Contributor

@award999 award999 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cannot submit as is, none of the images exist, and commands do not seem to work

# Keep tutorial assets
!assets/tutorial/**

.vscode/**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all these lines aren't necessary, everything is ignored by default

@Konikz
Copy link
Author

Konikz commented Apr 2, 2025

Hi @award999 ,

Thank you for reviewing my PR and for the feedback! I really appreciate it.

I’m new to open source and haven't worked on a production codebase before, so your guidance is much appreciated as I’m still learning. I took on this feature to gain experience and contribute while preparing my GSoC proposal. In my eagerness to submit the PR, I was a bit hasty, as the proposal deadline is approaching. I’ll start working on fixing the issues right away.

If you have any advice or suggestions for improving this feature, I’d love to hear them so I can refine both my implementation and my GSoC proposal. I want to make sure it aligns well with the project's goals.

Thanks again for your time and guidance!

@award999
Copy link
Contributor

award999 commented Apr 2, 2025

Hi @award999 ,

Thank you for reviewing my PR and for the feedback! I really appreciate it.

I’m new to open source and haven't worked on a production codebase before, so your guidance is much appreciated as I’m still learning. I took on this feature to gain experience and contribute while preparing my GSoC proposal. In my eagerness to submit the PR, I was a bit hasty, as the proposal deadline is approaching. I’ll start working on fixing the issues right away.

If you have any advice or suggestions for improving this feature, I’d love to hear them so I can refine both my implementation and my GSoC proposal. I want to make sure it aligns well with the project's goals.

Thanks again for your time and guidance!

all PRs are appreciated :) you can always mark a PR as a draft until it's ready as you work through issues. The Run Extension launch configuration can be used to test out the commands and walkthrough

@award999 award999 marked this pull request as draft April 2, 2025 17:03
@Konikz
Copy link
Author

Konikz commented Apr 2, 2025

Noted, Sir! I'll use draft PRs moving forward and test with the Run Extension launch configuration. Thanks for the guidance!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants