Skip to content

Commit c661686

Browse files
authored
Remove the vscode settings for CodeGeneration (#5612)
We are changing to load the default emitters from compiler and will consolidate the related schema into compiler, so removing the related vscode settings for now to avoid releasing it publicly which is not necessary for now considering template+emitters+tspconfig.yaml has already fulfilled what we want.
1 parent dd0b687 commit c661686

File tree

4 files changed

+58
-109
lines changed

4 files changed

+58
-109
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
changeKind: internal
3+
packages:
4+
- typespec-vscode
5+
---
6+
7+
remove vscode settings for code generation

packages/typespec-vscode/package.json

Lines changed: 0 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -108,104 +108,6 @@
108108
],
109109
"default": "off",
110110
"description": "Define whether/how the TypeSpec language server should send traces to client. For the traces to show properly in vscode Output, make sure 'Log Level' is also set to 'Trace' so that they won't be filtered at client side, which can be set through 'Developer: Set Log Level...' command."
111-
},
112-
"typespec.generateCode.emitters": {
113-
"scope": "window",
114-
"type": "array",
115-
"items": {
116-
"type": "object",
117-
"properties": {
118-
"language": {
119-
"type": "string",
120-
"enum": [
121-
".NET",
122-
"Java",
123-
"JavaScript",
124-
"Python",
125-
"Go",
126-
"OpenAPI3",
127-
"ProtoBuf",
128-
"JsonSchema"
129-
],
130-
"description": "Define the language the emitter will emit."
131-
},
132-
"package": {
133-
"type": "string",
134-
"description": "Define the emitter package.\n\nExample (with version): @typespec/[email protected]\n\nExample (without version): @typespec/http-client-csharp"
135-
},
136-
"sourceRepo": {
137-
"type": "string",
138-
"description": "Define the source repository of the emitter package."
139-
},
140-
"requisites": {
141-
"type": "array",
142-
"items": {
143-
"type": "string"
144-
},
145-
"description": "Define the requisites of the emitter package."
146-
},
147-
"kind": {
148-
"type": "string",
149-
"enum": [
150-
"client",
151-
"server",
152-
"openapi"
153-
],
154-
"description": "Define the emitter kind."
155-
}
156-
}
157-
},
158-
"default": [
159-
{
160-
"language": ".NET",
161-
"package": "@typespec/http-client-csharp",
162-
"sourceRepo": "https://github.com/microsoft/typespec/tree/main/packages/http-client-csharp",
163-
"requisites": [
164-
".NET 8.0 SDK"
165-
],
166-
"kind": "client"
167-
},
168-
{
169-
"language": "Java",
170-
"package": "@typespec/http-client-java",
171-
"sourceRepo": "https://github.com/microsoft/typespec/tree/main/packages/http-client-java",
172-
"requisites": [
173-
"Java 17 or above",
174-
"Maven"
175-
],
176-
"kind": "client"
177-
},
178-
{
179-
"language": "JavaScript",
180-
"package": "@azure-tools/typespec-ts",
181-
"sourceRepo": "https://github.com/Azure/autorest.typescript/tree/main/packages/typespec-ts",
182-
"kind": "client"
183-
},
184-
{
185-
"language": "Python",
186-
"package": "@typespec/http-client-python",
187-
"sourceRepo": "https://github.com/microsoft/typespec/tree/main/packages/http-client-python",
188-
"kind": "client"
189-
},
190-
{
191-
"language": ".NET",
192-
"package": "@typespec/http-server-csharp",
193-
"sourceRepo": "https://github.com/microsoft/typespec/tree/main/packages/http-server-csharp",
194-
"kind": "server"
195-
},
196-
{
197-
"language": "JavaScript",
198-
"package": "@typespec/http-server-javascript",
199-
"sourceRepo": "https://github.com/microsoft/typespec/tree/main/packages/http-server-javascript",
200-
"kind": "server"
201-
},
202-
{
203-
"language": "OpenAPI3",
204-
"package": "@typespec/openapi3",
205-
"sourceRepo": "https://github.com/microsoft/typespec/tree/main/packages/openapi3",
206-
"kind": "openapi"
207-
}
208-
]
209111
}
210112
}
211113
}

packages/typespec-vscode/src/types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
export const enum SettingName {
22
TspServerPath = "typespec.tsp-server.path",
33
InitTemplatesUrls = "typespec.initTemplatesUrls",
4-
GenerateCodeEmitters = "typespec.generateCode.emitters",
54
}
65

76
export const enum CommandName {

packages/typespec-vscode/src/vscode-cmd/emit-code/emitter.ts

Lines changed: 51 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import vscode from "vscode";
22
import logger from "../../log/logger.js";
3-
import { SettingName } from "../../types.js";
43

54
export enum EmitterKind {
65
Schema = "openapi",
@@ -34,6 +33,54 @@ export const PreDefinedEmitterPickItems: Record<string, vscode.QuickPickItem> =
3433
},
3534
};
3635

36+
// TODO: remove this when we can load default emitters from the compiler
37+
const PreDefinedEmitters: ReadonlyArray<Emitter> = [
38+
{
39+
language: ".NET",
40+
package: "@typespec/http-client-csharp",
41+
sourceRepo: "https://github.com/microsoft/typespec/tree/main/packages/http-client-csharp",
42+
requisites: [".NET 8.0 SDK"],
43+
kind: EmitterKind.Client,
44+
},
45+
{
46+
language: "Java",
47+
package: "@typespec/http-client-java",
48+
sourceRepo: "https://github.com/microsoft/typespec/tree/main/packages/http-client-java",
49+
requisites: ["Java 17 or above", "Maven"],
50+
kind: EmitterKind.Client,
51+
},
52+
{
53+
language: "JavaScript",
54+
package: "@azure-tools/typespec-ts",
55+
sourceRepo: "https://github.com/Azure/autorest.typescript/tree/main/packages/typespec-ts",
56+
kind: EmitterKind.Client,
57+
},
58+
{
59+
language: "Python",
60+
package: "@typespec/http-client-python",
61+
sourceRepo: "https://github.com/microsoft/typespec/tree/main/packages/http-client-python",
62+
kind: EmitterKind.Client,
63+
},
64+
{
65+
language: ".NET",
66+
package: "@typespec/http-server-csharp",
67+
sourceRepo: "https://github.com/microsoft/typespec/tree/main/packages/http-server-csharp",
68+
kind: EmitterKind.Server,
69+
},
70+
{
71+
language: "JavaScript",
72+
package: "@typespec/http-server-javascript",
73+
sourceRepo: "https://github.com/microsoft/typespec/tree/main/packages/http-server-javascript",
74+
kind: EmitterKind.Server,
75+
},
76+
{
77+
language: "OpenAPI3",
78+
package: "@typespec/openapi3",
79+
sourceRepo: "https://github.com/microsoft/typespec/tree/main/packages/openapi3",
80+
kind: EmitterKind.Schema,
81+
},
82+
];
83+
3784
function getEmitter(kind: EmitterKind, emitter: Emitter): Emitter | undefined {
3885
let packageFullName: string = emitter.package;
3986
if (!packageFullName) {
@@ -60,26 +107,20 @@ function getEmitter(kind: EmitterKind, emitter: Emitter): Emitter | undefined {
60107
}
61108

62109
export function getRegisterEmitters(kind: EmitterKind): ReadonlyArray<Emitter> {
63-
const extensionConfig = vscode.workspace.getConfiguration();
64-
const emitters: ReadonlyArray<Emitter> =
65-
extensionConfig.get(SettingName.GenerateCodeEmitters) ?? [];
110+
const emitters: ReadonlyArray<Emitter> = PreDefinedEmitters;
66111
return emitters
67112
.filter((emitter) => emitter.kind === kind)
68113
.map((emitter) => getEmitter(kind, emitter))
69114
.filter((emitter) => emitter !== undefined) as Emitter[];
70115
}
71116

72117
export function getRegisterEmitterTypes(): ReadonlyArray<EmitterKind> {
73-
const extensionConfig = vscode.workspace.getConfiguration();
74-
const emitters: ReadonlyArray<Emitter> =
75-
extensionConfig.get(SettingName.GenerateCodeEmitters) ?? [];
118+
const emitters: ReadonlyArray<Emitter> = PreDefinedEmitters;
76119
return Array.from(new Set(emitters.map((emitter) => emitter.kind)));
77120
}
78121

79122
export function getRegisterEmittersByPackage(packageName: string): Emitter | undefined {
80-
const extensionConfig = vscode.workspace.getConfiguration();
81-
const emitters: ReadonlyArray<Emitter> =
82-
extensionConfig.get(SettingName.GenerateCodeEmitters) ?? [];
123+
const emitters: ReadonlyArray<Emitter> = PreDefinedEmitters;
83124
return emitters.find(
84125
(emitter) => emitter.package === packageName || emitter.package.startsWith(packageName + "@"),
85126
);

0 commit comments

Comments
 (0)