|
85 | 85 | "\t${2:body-expression}" |
86 | 86 | ] |
87 | 87 | }, |
88 | | - |
89 | 88 | // records, discriminated unions, classes, structs |
90 | 89 | "record": { |
91 | 90 | "prefix": "record", |
|
137 | 136 | "unit-of-measure": { |
138 | 137 | "prefix": "unit-of-measure", |
139 | 138 | "description": "Floating point and signed integer values in F# can have associated units of measure, which are typically used to indicate length, volume, mass, and so on. By using quantities with units, you enable the compiler to verify that arithmetic relationships have the correct units, which helps prevent programming errors.", |
140 | | - "body" : [ |
| 139 | + "body": [ |
141 | 140 | "[<Measure>] type ${1:unit-name} = ${2:unit-symbol}" |
142 | 141 | ] |
143 | 142 | }, |
144 | | - "class" : { |
| 143 | + "class": { |
145 | 144 | "prefix": "class", |
146 | 145 | "description": "Classes represent the fundamental description of .NET object types; the class is the primary type concept that supports object-oriented programming in F#", |
147 | 146 | "body": [ |
|
150 | 149 | "\tmember this.${5:member-name2} = ${6:member-expression2}" |
151 | 150 | ] |
152 | 151 | }, |
153 | | - "class-abstract" : { |
| 152 | + "class-abstract": { |
154 | 153 | "prefix": "abstract-class", |
155 | 154 | "description": "Classes represent the fundamental description of .NET object types; the class is the primary type concept that supports object-oriented programming in F#", |
156 | 155 | "body": [ |
|
160 | 159 | "\tabstract member this.${5:member-name2} : ${6:member-type2}" |
161 | 160 | ] |
162 | 161 | }, |
163 | | - "interface" : { |
| 162 | + "interface": { |
164 | 163 | "prefix": "interface", |
165 | 164 | "description": "Interfaces are a way to define a set of operations that a type must implement. An interface is a type that is completely abstract, containing only signatures of operations that must be implemented by a type that implements the interface.", |
166 | 165 | "body": [ |
167 | 166 | "type ${1:interface-name} =", |
168 | 167 | "\tabstract ${2:member-name1} : ${3:member-type2}", |
169 | 168 | "\tabstract ${4:member-name1} : ${5:member-type2}" |
170 | 169 | ] |
171 | | - } |
| 170 | + }, |
| 171 | + // Analyzers |
| 172 | + "FSharp.Analyzer Ignore": { |
| 173 | + "prefix": "analyzer-ignore", |
| 174 | + "description": "Ignore analyzer warning for the next line", |
| 175 | + "body": [ |
| 176 | + "// fsharpanalyzer: ${1|ignore-line,ignore-line-next,ignore-region-start,ignore-file|} ${2:analyzer-code}" |
| 177 | + ] |
| 178 | + }, |
| 179 | + "FSharp.Analyzer Ignore region-end": { |
| 180 | + "prefix": "analyzer-ignore-region-end", |
| 181 | + "description": "Ignore analyzer warning for the next line", |
| 182 | + "body": [ |
| 183 | + "// fsharpanalyzer: ignore-region-end" |
| 184 | + ] |
| 185 | + }, |
172 | 186 | } |
0 commit comments