-
Notifications
You must be signed in to change notification settings - Fork 102
Rename New Project to New Folder from Template and update the associated new project wizard user experience #7893
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
base: main
Are you sure you want to change the base?
Conversation
E2E Tests 🚀 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a pretty big step in the right direction, and simplifies the language a lot!
Main comment is about the behavior of New Folder...
, see below, but otherwise looks great
src/vs/workbench/browser/positronNewProjectWizard/chooseNewProjectWindowModalDialog.tsx
Outdated
Show resolved
Hide resolved
src/vs/workbench/browser/positronNewProjectWizard/components/steps/projectTypeStep.tsx
Outdated
Show resolved
Hide resolved
src/vs/workbench/browser/positronNewProjectWizard/components/steps/rConfigurationStep.tsx
Show resolved
Hide resolved
Did this change the Welcome Page as well? We do have a couple of Welcome screen tests that may need to be updated. I can help if needed! |
1593fda
to
d042327
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a HUGE improvement in terms of clarity and consistency, and I'm happy for this version of the FLOW 😄 to be what we launch with.
I have made the necessary adjustments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR renames “New Project” to “New Folder from Template” and updates the associated wizard experience by renaming components, dialogs, CSS classes, actions, and related localizations.
- Updated component and CSS names from “wizard” to “flow” to align with the new terminology.
- Refactored actions and dialogs for creating a new folder from a template, including updates in localization and test cases.
- Removed the deprecated newFolderModalDialog file to streamline the new folder workflow.
Reviewed Changes
Copilot reviewed 81 out of 81 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
folderTemplateGroup.tsx | Renaming and updating folder template picker logic. |
flowSubStep.tsx, flowStep.tsx, flowFormattedText.tsx | Renaming components and CSS to reflect “flow” terminology. |
chooseNewFolderWindowModalDialog.tsx | Updated dialog UI and localization for new folder creation. |
positronActions.ts | Updated folder action triggers and registration. |
Test and extension files | Adjusted naming in tests and commands to use folder terminology. |
Comments suppressed due to low confidence (1)
src/vs/workbench/browser/positronNewFolderFlow/components/folderTemplateGroup.tsx:57
- [nitpick] Consider using a unique identifier from folderTemplate as the key instead of the array index to improve stability during re-renders.
<FolderTemplatePicker key={index} ... />
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Working great! 🚀
As a follow up, we might want to update the tag for tests from new-project-wizard
to new-folder-flow
cc @midleman
const [projectName, setProjectName] = useState(context.folderName); | ||
const [parentFolder, setParentFolder] = useState(() => pathUriToLabel(context.parentFolder, labelService)); | ||
const [projectNameFeedback, setProjectNameFeedback] = useState(context.projectNameFeedback); | ||
const [maxProjectPathLength, setMaxProjectPathLength] = useState(() => getMaxProjectPathLength(parentFolder.length)); | ||
const [projectNameFeedback, setProjectNameFeedback] = useState(context.folderNameFeedback); | ||
const [maxProjectPathLength, setMaxProjectPathLength] = useState(() => getMaxFolderPathLength(parentFolder.length)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can update these state props to refer to folder. I'll push up those changes since @softwarenerd is OOO.
context.folderTemplate !== selectedProjectType || | ||
context.folderName === '' | ||
) { | ||
const defaultProjectName = getDefaultFolderName(selectedProjectType); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few updates to variables are needed here as well! I'll get those pushed up.
<FolderTemplateGroup | ||
describedBy='folder-template-selection-step-description' | ||
labelledBy='folder-template-selection-step-title' | ||
name='projectType' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can update the name field for this input form as well. I didn't see any tests that were referencing this but I'll rerun all the e2e tests to make sure it doesn't break anything
"Create" | ||
))(), | ||
disable: !selectedInterpreter | ||
}} | ||
title={(() => localize( | ||
'rConfigurationStep.title', | ||
"Set up project configuration" | ||
"Project Configuration" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm guessing we are using the term project here on purpose for the R configuration step.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We'll want to rename this file. I'm not sure what we want to call this - can be handled in a follow up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we delete this file? It looks like its an unused feature flag.
Description
This PR addresses #7559 by renaming New Project to New Folder from Template and updating the associated new project wizard user experience.
As part of this work:
When New Project from Template is invoked, there are now four folder templates:
Python Project
Here are screen shots of the New Folder from Template user experience for a new Python Project:
User selects Python Project folder template:




User selects folder name and location:
User configures the project, and then presses Create:
User selects where to open their newly-created folder:
Empty Project
Here are screen shots of the New Folder from Template user experience for a new Empty Project:
User selects Empty Project folder template:



User selects folder name and location, and then presses Create:
User selects where to open their newly-created folder:
Release Notes
New Features
Bug Fixes
New Project...
could beNew Folder Wizard...
#7559 Rename New Project to New Folder and update the associated new project wizard user experience.QA Notes
Tests:
@:new-project-wizard
@:welcome