Skip to content

Commit b899bec

Browse files
committed
add vscode conf generation
1 parent 00c1020 commit b899bec

4 files changed

Lines changed: 51 additions & 1 deletion

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tool.poetry]
2-
name = "example"
2+
name = "create-python-app"
33
version = "0.0.1"
44
description = ""
55
authors = [

src/python.rs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@ use std::process;
1010
#[template(path = ".gitignore", escape = "none")]
1111
struct 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")]
1523
struct 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()))

templates/.vscode/extensions.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"recommendations": [
3+
"ms-python.python",
4+
"ms-python.vscode-pylance",
5+
"ms-python.isort",
6+
"ms-python.black-formatter",
7+
"ms-python.flake8"
8+
]
9+
}

templates/.vscode/settings.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"[python]": {
3+
"editor.formatOnType": true,
4+
"editor.formatOnSave": true,
5+
"editor.defaultFormatter": "ms-python.black-formatter"
6+
},
7+
"flake8.args": ["--config=.cpa/flake8.cfg"],
8+
"files.insertFinalNewline": true
9+
}

0 commit comments

Comments
 (0)