@@ -113,6 +113,7 @@ def generate(self) -> None:
113113 self ._generate_gitignore ()
114114 self ._generate_main ()
115115 self ._generate_error_page ()
116+ self ._generate_vscode_settings ()
116117
117118 # Generate template-specific files
118119 if self .template == "counter" :
@@ -150,10 +151,19 @@ def _generate_gitignore(self) -> None:
150151 """Generate .gitignore."""
151152 self .renderer .copy_static ("common/.gitignore" , self .project_path / ".gitignore" )
152153
154+ def _generate_vscode_settings (self ) -> None :
155+ """Generate VS Code settings."""
156+ vscode_dir = self .project_path / ".vscode"
157+ vscode_dir .mkdir (exist_ok = True )
158+ self .renderer .copy_static ("common/extensions.json" , vscode_dir / "extensions.json" )
159+
153160 def _generate_main (self ) -> None :
154161 """Generate main.py."""
155162 template_name = "main-path.py.j2" if self .routing_strategy == "path" else "main-explicit.py.j2"
156- content = self .renderer .render (f"common/{ template_name } " , {})
163+ context = {
164+ "pages_dir" : "src/pages" if self .use_src else "pages" ,
165+ }
166+ content = self .renderer .render (f"common/{ template_name } " , context )
157167 (self .app_root / "main.py" ).write_text (content )
158168
159169 def _generate_error_page (self ) -> None :
@@ -396,6 +406,8 @@ def main():
396406Run the following commands to enter the environment:
397407
398408 { cmd_text }
409+
410+ > **Tip:** Install the **PyWire** extension (id: `pywire.pywire`) in VS Code for syntax highlighting and snippets.
399411 """
400412 ),
401413 border_style = "cyan" ,
0 commit comments