Skip to content

Commit 66e4a6a

Browse files
authored
Implement MSBuild functionality as a Task Provider (#1679)
1 parent 8f1d381 commit 66e4a6a

File tree

4 files changed

+418
-153
lines changed

4 files changed

+418
-153
lines changed

release/package.json

Lines changed: 68 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -237,16 +237,16 @@
237237
},
238238
{
239239
"command": "fsharp.explorer.showProjectLoadFailedInfo",
240-
"title": "Show info about failed project loading",
241-
"icon": {
240+
"title": "Show info about failed project loading",
241+
"icon": {
242242
"light": "./images/icon-status-light.svg",
243243
"dark": "./images/icon-status-dark.svg"
244244
}
245245
},
246246
{
247247
"command": "fsharp.explorer.showProjectStatus",
248-
"title": "Show project status",
249-
"icon": {
248+
"title": "Show project status",
249+
"icon": {
250250
"light": "./images/icon-status-light.svg",
251251
"dark": "./images/icon-status-dark.svg"
252252
}
@@ -803,8 +803,8 @@
803803
},
804804
{
805805
"command": "fsharp.explorer.showProjectLoadFailedInfo",
806-
"when": "viewItem == ionide.projectExplorer.projectLoadFailed",
807-
"group": "inline@98"
806+
"when": "viewItem == ionide.projectExplorer.projectLoadFailed",
807+
"group": "inline@98"
808808
},
809809
{
810810
"command": "fsharp.explorer.openProjectFile",
@@ -839,8 +839,8 @@
839839
},
840840
{
841841
"command": "fsharp.explorer.showProjectStatus",
842-
"when": "viewItem == ionide.projectExplorer.projectNotRestored",
843-
"group": "inline@98"
842+
"when": "viewItem == ionide.projectExplorer.projectNotRestored",
843+
"group": "inline@98"
844844
},
845845
{
846846
"command": "fsharp.explorer.addProjecRef",
@@ -1129,10 +1129,18 @@
11291129
{
11301130
"language": "fsharp",
11311131
"scopes": {
1132-
"mutable": ["variable.fsharp.mutable"],
1133-
"disposable": ["variable.fsharp.mutable"],
1134-
"operator": ["keyword.symbol.fsharp"],
1135-
"cexpr": ["keyword.control.fsharp"]
1132+
"mutable": [
1133+
"variable.fsharp.mutable"
1134+
],
1135+
"disposable": [
1136+
"variable.fsharp.mutable"
1137+
],
1138+
"operator": [
1139+
"keyword.symbol.fsharp"
1140+
],
1141+
"cexpr": [
1142+
"keyword.control.fsharp"
1143+
]
11361144
}
11371145
}
11381146
],
@@ -1152,7 +1160,7 @@
11521160
"scope": "window"
11531161
},
11541162
"FSharp.fsac.dotnetArgs": {
1155-
"type" : "array",
1163+
"type": "array",
11561164
"default": [],
11571165
"description": "additional CLI arguments to be provided to the dotnet runner for FSAC",
11581166
"items": {
@@ -1230,17 +1238,17 @@
12301238
"default": "failwith \"Not Implemented\"",
12311239
"description": "The expression to fill in the right-hand side of record fields when generating missing fields for a record construction expression"
12321240
},
1233-
"FSharp.interfaceStubGeneration": {
1241+
"FSharp.interfaceStubGeneration": {
12341242
"type": "boolean",
12351243
"default": true,
12361244
"description": "Enables a codefix that generates missing interface members when inside of an interface implementation expression"
1237-
},
1238-
"FSharp.interfaceStubGenerationObjectIdentifier": {
1245+
},
1246+
"FSharp.interfaceStubGenerationObjectIdentifier": {
12391247
"type": "string",
12401248
"default": "this",
12411249
"description": "The name of the 'self' identifier in an interface member. For example, `this` in the expression `this.Member(x: int) = ()`"
1242-
},
1243-
"FSharp.interfaceStubGenerationMethodBody": {
1250+
},
1251+
"FSharp.interfaceStubGenerationMethodBody": {
12441252
"type": "string",
12451253
"default": "failwith \"Not Implemented\"",
12461254
"description": "The expression to fill in the right-hand side of interface members when generating missing members for an interface implementation expression"
@@ -1249,13 +1257,13 @@
12491257
"type": "boolean",
12501258
"default": true,
12511259
"description": "Enables a codefix that generates missing members for an abstract class when in an type inheriting from that abstract class."
1252-
},
1253-
"FSharp.abstractClassStubGenerationObjectIdentifier": {
1260+
},
1261+
"FSharp.abstractClassStubGenerationObjectIdentifier": {
12541262
"type": "string",
12551263
"default": "this",
12561264
"description": "The name of the 'self' identifier in an inherited member. For example, `this` in the expression `this.Member(x: int) = ()`"
1257-
},
1258-
"FSharp.abstractClassStubGenerationMethodBody": {
1265+
},
1266+
"FSharp.abstractClassStubGenerationMethodBody": {
12591267
"type": "string",
12601268
"default": "failwith \"Not Implemented\"",
12611269
"description": "The expression to fill in the right-hand side of inherited members when generating missing members for an abstract base class"
@@ -1395,37 +1403,37 @@
13951403
],
13961404
"default": "sameAsFileExplorer",
13971405
"scope": "window"
1398-
},
1399-
"FSharp.smartIndent": {
1400-
"type": "boolean",
1401-
"default": false,
1402-
"description": "Enables smart indent feature"
1406+
},
1407+
"FSharp.smartIndent": {
1408+
"type": "boolean",
1409+
"default": false,
1410+
"description": "Enables smart indent feature"
14031411
},
14041412
"FSharp.infoPanelUpdate": {
1405-
"type": "string",
1413+
"type": "string",
14061414
"description": "Controls when the info panel is updated",
14071415
"enum": [
14081416
"onCursorMove",
14091417
"onHover",
14101418
"both",
14111419
"none"
14121420
],
1413-
"default": "onCursorMove"
1421+
"default": "onCursorMove"
14141422
},
14151423
"FSharp.infoPanelReplaceHover": {
1416-
"type": "boolean",
1424+
"type": "boolean",
14171425
"description": "Controls whether the info panel replaces tooltips",
1418-
"default": false
1426+
"default": false
14191427
},
14201428
"FSharp.infoPanelStartLocked": {
1421-
"type": "boolean",
1429+
"type": "boolean",
14221430
"description": "Controls whether the info panel should be locked at startup",
1423-
"default": false
1431+
"default": false
14241432
},
14251433
"FSharp.infoPanelShowOnStartup": {
1426-
"type": "boolean",
1434+
"type": "boolean",
14271435
"description": "Controls whether the info panel should be displayed at startup",
1428-
"default": false
1436+
"default": false
14291437
},
14301438
"FSharp.verboseLogging": {
14311439
"type": "boolean",
@@ -1497,6 +1505,10 @@
14971505
{
14981506
"fileMatch": "wsconfig.json",
14991507
"url": "./schemas/wsconfig.json"
1508+
},
1509+
{
1510+
"fileMatch": "**/launchSettings.json",
1511+
"url": "https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/launchsettings.json"
15001512
}
15011513
],
15021514
"breakpoints": [
@@ -1560,22 +1572,32 @@
15601572
}
15611573
],
15621574
"terminal": {
1563-
"profiles": [{
1564-
"icon": "terminal",
1565-
"id": "ionide-fsharp.fsi",
1566-
"title": "F# Interactive"
1567-
}]
1568-
}
1575+
"profiles": [
1576+
{
1577+
"icon": "terminal",
1578+
"id": "ionide-fsharp.fsi",
1579+
"title": "F# Interactive"
1580+
}
1581+
]
1582+
},
1583+
"taskDefinitions": [
1584+
{
1585+
"type": "msbuild",
1586+
"required": [],
1587+
"properties": {}
1588+
}
1589+
]
15691590
},
15701591
"activationEvents": [
1592+
"onCommand:fsharp.NewProject",
1593+
"onCommand:fsi.Start",
1594+
"onCommand:workbench.action.tasks.runTask",
15711595
"onDebugDynamicConfigurations:coreclr",
1596+
"onLanguage:fsharp",
15721597
"workspaceContains:**/*.fs",
1573-
"workspaceContains:**/*.fsx",
15741598
"workspaceContains:**/*.fsproj",
1575-
"workspaceContains:**/*.sln",
1576-
"onLanguage:fsharp",
1577-
"onCommand:fsi.Start",
1578-
"onCommand:fsharp.NewProject"
1599+
"workspaceContains:**/*.fsx",
1600+
"workspaceContains:**/*.sln"
15791601
],
15801602
"extensionDependencies": [
15811603
"ms-dotnettools.csharp"

0 commit comments

Comments
 (0)