@@ -10,6 +10,14 @@ use std::process;
1010#[ template( path = ".gitignore" , escape = "none" ) ]
1111struct GitIgnore { }
1212
13+ #[ derive( Template ) ]
14+ #[ template( path = ".vscode/settings.json" , escape = "none" ) ]
15+ struct VSCodeSettings { }
16+
17+ #[ derive( Template ) ]
18+ #[ template( path = ".vscode/extensions.json" , escape = "none" ) ]
19+ struct VSCodeExtensions { }
20+
1321#[ derive( Template ) ]
1422#[ template( path = "Makefile" , escape = "none" ) ]
1523struct Makefile { }
@@ -65,6 +73,30 @@ pub fn setup_preset(mut preset: String, name: String, create: bool) {
6573 . and_then ( |mut file| file. write_all ( GHWorkflowCI { } . render ( ) . expect ( "Failed to render ci.yaml" ) . as_bytes ( ) ) )
6674 . expect ( "Failed to create or write to ci.yaml" ) ;
6775
76+ // Render .vscode/settings.json
77+ File :: create ( format ! ( "{}/.vscode/settings.json" , prefix) )
78+ . and_then ( |mut file| {
79+ file. write_all (
80+ VSCodeSettings { }
81+ . render ( )
82+ . expect ( "Failed to render .vscode/settings.json" )
83+ . as_bytes ( ) ,
84+ )
85+ } )
86+ . expect ( "Failed to create or write to .vscode/settings.json" ) ;
87+
88+ // Render .vscode/extensions.json
89+ File :: create ( format ! ( "{}/.vscode/extensions.json" , prefix) )
90+ . and_then ( |mut file| {
91+ file. write_all (
92+ VSCodeExtensions { }
93+ . render ( )
94+ . expect ( "Failed to render .vscode/extensions.json" )
95+ . as_bytes ( ) ,
96+ )
97+ } )
98+ . expect ( "Failed to create or write to .vscode/extensions.json" ) ;
99+
68100 // Render .gitignore
69101 File :: create ( format ! ( "{}/.gitignore" , prefix) )
70102 . and_then ( |mut file| file. write_all ( GitIgnore { } . render ( ) . expect ( "Failed to render .gitignore" ) . as_bytes ( ) ) )
0 commit comments