Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
c6686be2
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c6686be2
编写于
9月 21, 2017
作者:
M
Martin Aeschlimann
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[html] provide colorpresentations in language server
上级
0e3d8542
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
77 addition
and
80 deletion
+77
-80
extensions/html/client/src/htmlMain.ts
extensions/html/client/src/htmlMain.ts
+19
-39
extensions/html/npm-shrinkwrap.json
extensions/html/npm-shrinkwrap.json
+14
-14
extensions/html/package.json
extensions/html/package.json
+3
-4
extensions/html/server/npm-shrinkwrap.json
extensions/html/server/npm-shrinkwrap.json
+13
-13
extensions/html/server/package.json
extensions/html/server/package.json
+3
-3
extensions/html/server/src/htmlServerMain.ts
extensions/html/server/src/htmlServerMain.ts
+16
-5
extensions/html/server/src/modes/cssMode.ts
extensions/html/server/src/modes/cssMode.ts
+5
-1
extensions/html/server/src/modes/languageModes.ts
extensions/html/server/src/modes/languageModes.ts
+4
-1
未找到文件。
extensions/html/client/src/htmlMain.ts
浏览文件 @
c6686be2
...
...
@@ -6,15 +6,14 @@
import
*
as
path
from
'
path
'
;
import
{
languages
,
ExtensionContext
,
IndentAction
,
Position
,
TextDocument
,
Color
,
ColorInformation
,
ColorPresentation
,
TextEdit
}
from
'
vscode
'
;
import
{
languages
,
ExtensionContext
,
IndentAction
,
Position
,
TextDocument
,
Color
,
ColorInformation
,
ColorPresentation
}
from
'
vscode
'
;
import
{
LanguageClient
,
LanguageClientOptions
,
ServerOptions
,
TransportKind
,
RequestType
,
TextDocumentPositionParams
}
from
'
vscode-languageclient
'
;
import
{
EMPTY_ELEMENTS
}
from
'
./htmlEmptyTagsShared
'
;
import
{
activateTagClosing
}
from
'
./tagClosing
'
;
import
TelemetryReporter
from
'
vscode-extension-telemetry
'
;
import
*
as
convert
from
'
color-convert
'
;
import
{
ConfigurationFeature
}
from
'
vscode-languageclient/lib/proposed
'
;
import
{
DocumentColorRequest
}
from
'
vscode-languageserver-protocol/lib/protocol.colorProvider.proposed
'
;
import
{
ConfigurationFeature
}
from
'
vscode-languageclient/lib/
configuration.
proposed
'
;
import
{
DocumentColorRequest
,
DocumentColorParams
,
ColorPresentationRequest
,
ColorPresentationParams
}
from
'
vscode-languageserver-protocol/lib/protocol.colorProvider.proposed
'
;
import
*
as
nls
from
'
vscode-nls
'
;
let
localize
=
nls
.
loadMessageBundle
();
...
...
@@ -68,17 +67,14 @@ export function activate(context: ExtensionContext) {
let
client
=
new
LanguageClient
(
'
html
'
,
localize
(
'
htmlserver.name
'
,
'
HTML Language Server
'
),
serverOptions
,
clientOptions
);
client
.
registerFeature
(
new
ConfigurationFeature
(
client
));
var
_toTwoDigitHex
=
function
(
n
:
number
):
string
{
const
r
=
n
.
toString
(
16
);
return
r
.
length
!==
2
?
'
0
'
+
r
:
r
;
};
let
disposable
=
client
.
start
();
toDispose
.
push
(
disposable
);
client
.
onReady
().
then
(()
=>
{
disposable
=
languages
.
registerColorProvider
(
documentSelector
,
{
provideDocumentColors
(
document
:
TextDocument
):
Thenable
<
ColorInformation
[]
>
{
let
params
=
client
.
code2ProtocolConverter
.
asDocumentSymbolParams
(
document
);
let
params
:
DocumentColorParams
=
{
textDocument
:
client
.
code2ProtocolConverter
.
asTextDocumentIdentifier
(
document
)
};
return
client
.
sendRequest
(
DocumentColorRequest
.
type
,
params
).
then
(
symbols
=>
{
return
symbols
.
map
(
symbol
=>
{
let
range
=
client
.
protocol2CodeConverter
.
asRange
(
symbol
.
range
);
...
...
@@ -87,35 +83,19 @@ export function activate(context: ExtensionContext) {
});
});
},
provideColorPresentations
(
document
:
TextDocument
,
colorInfo
:
ColorInformation
):
ColorPresentation
[]
|
Thenable
<
ColorPresentation
[]
>
{
let
result
:
ColorPresentation
[]
=
[];
let
color
=
colorInfo
.
color
;
let
label
;
if
(
color
.
alpha
===
1
)
{
label
=
`rgb(
${
Math
.
round
(
color
.
red
*
255
)}
,
${
Math
.
round
(
color
.
green
*
255
)}
,
${
Math
.
round
(
color
.
blue
*
255
)}
)`
;
}
else
{
label
=
`rgba(
${
Math
.
round
(
color
.
red
*
255
)}
,
${
Math
.
round
(
color
.
green
*
255
)}
,
${
Math
.
round
(
color
.
blue
*
255
)}
,
${
color
.
alpha
}
)`
;
}
result
.
push
({
label
:
label
,
textEdit
:
new
TextEdit
(
colorInfo
.
range
,
label
)
});
if
(
color
.
alpha
===
1
)
{
label
=
`#
${
_toTwoDigitHex
(
Math
.
round
(
color
.
red
*
255
))}${
_toTwoDigitHex
(
Math
.
round
(
color
.
green
*
255
))}${
_toTwoDigitHex
(
Math
.
round
(
color
.
blue
*
255
))}
`
;
}
else
{
label
=
`#
${
_toTwoDigitHex
(
Math
.
round
(
color
.
red
*
255
))}${
_toTwoDigitHex
(
Math
.
round
(
color
.
green
*
255
))}${
_toTwoDigitHex
(
Math
.
round
(
color
.
blue
*
255
))}${
_toTwoDigitHex
(
Math
.
round
(
color
.
alpha
*
255
))}
`
;
}
result
.
push
({
label
:
label
,
textEdit
:
new
TextEdit
(
colorInfo
.
range
,
label
)
});
const
hsl
=
convert
.
rgb
.
hsl
(
Math
.
round
(
color
.
red
*
255
),
Math
.
round
(
color
.
green
*
255
),
Math
.
round
(
color
.
blue
*
255
));
if
(
color
.
alpha
===
1
)
{
label
=
`hsl(
${
hsl
[
0
]}
,
${
hsl
[
1
]}
%,
${
hsl
[
2
]}
%)`
;
}
else
{
label
=
`hsla(
${
hsl
[
0
]}
,
${
hsl
[
1
]}
%,
${
hsl
[
2
]}
%,
${
color
.
alpha
}
)`
;
}
result
.
push
({
label
:
label
,
textEdit
:
new
TextEdit
(
colorInfo
.
range
,
label
)
});
return
result
;
provideColorPresentations
(
document
:
TextDocument
,
colorInfo
:
ColorInformation
):
Thenable
<
ColorPresentation
[]
>
{
let
params
:
ColorPresentationParams
=
{
textDocument
:
client
.
code2ProtocolConverter
.
asTextDocumentIdentifier
(
document
),
colorInfo
:
{
range
:
client
.
code2ProtocolConverter
.
asRange
(
colorInfo
.
range
),
color
:
colorInfo
.
color
}
};
return
client
.
sendRequest
(
ColorPresentationRequest
.
type
,
params
).
then
(
presentations
=>
{
return
presentations
.
map
(
p
=>
{
let
presentation
=
new
ColorPresentation
(
p
.
label
);
presentation
.
textEdit
=
p
.
textEdit
&&
client
.
protocol2CodeConverter
.
asTextEdit
(
p
.
textEdit
);
presentation
.
additionalTextEdits
=
p
.
additionalTextEdits
&&
client
.
protocol2CodeConverter
.
asTextEdits
(
p
.
additionalTextEdits
);
return
presentation
;
});
});
}
});
toDispose
.
push
(
disposable
);
...
...
extensions/html/npm-shrinkwrap.json
浏览文件 @
c6686be2
...
...
@@ -2,39 +2,39 @@
"name"
:
"html"
,
"version"
:
"0.1.0"
,
"dependencies"
:
{
"color-convert"
:
{
"version"
:
"0.5.3"
,
"from"
:
"color-convert@>=0.5.0 <0.6.0"
,
"resolved"
:
"https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz"
},
"applicationinsights"
:
{
"version"
:
"0.18.0"
,
"from"
:
"applicationinsights@0.18.0"
,
"resolved"
:
"https://registry.npmjs.org/applicationinsights/-/applicationinsights-0.18.0.tgz"
},
"color-convert"
:
{
"version"
:
"0.5.3"
,
"from"
:
"color-convert@>=0.5.0 <0.6.0"
,
"resolved"
:
"https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz"
},
"vscode-extension-telemetry"
:
{
"version"
:
"0.0.8"
,
"from"
:
"vscode-extension-telemetry@>=0.0.8 <0.0.9"
,
"resolved"
:
"https://registry.npmjs.org/vscode-extension-telemetry/-/vscode-extension-telemetry-0.0.8.tgz"
},
"vscode-jsonrpc"
:
{
"version"
:
"3.
3.1
"
,
"from"
:
"vscode-jsonrpc@>=3.
3
.0 <4.0.0"
,
"resolved"
:
"https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.
3.1
.tgz"
"version"
:
"3.
4.0
"
,
"from"
:
"vscode-jsonrpc@>=3.
4
.0 <4.0.0"
,
"resolved"
:
"https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.
4.0
.tgz"
},
"vscode-languageclient"
:
{
"version"
:
"3.4.
0-next.17
"
,
"version"
:
"3.4.
2
"
,
"from"
:
"vscode-languageclient@next"
,
"resolved"
:
"https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-3.4.
0-next.17
.tgz"
"resolved"
:
"https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-3.4.
2
.tgz"
},
"vscode-languageserver-protocol"
:
{
"version"
:
"3.
1.1
"
,
"from"
:
"vscode-languageserver-protocol@
>=3.1.1 <4.0.0
"
,
"resolved"
:
"https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.
1.1
.tgz"
"version"
:
"3.
4.2
"
,
"from"
:
"vscode-languageserver-protocol@
3.4.2
"
,
"resolved"
:
"https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.
4.2
.tgz"
},
"vscode-languageserver-types"
:
{
"version"
:
"3.3.0"
,
"from"
:
"
vscode-languageserver-types@>=3.3.0 <4.0.0
"
,
"from"
:
"
https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.3.0.tgz
"
,
"resolved"
:
"https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.3.0.tgz"
},
"vscode-nls"
:
{
...
...
extensions/html/package.json
浏览文件 @
c6686be2
...
...
@@ -215,11 +215,10 @@
}
},
"dependencies"
:
{
"color-convert"
:
"^0.5.3"
,
"vscode-extension-telemetry"
:
"0.0.8"
,
"vscode-languageclient"
:
"
3.4.0-next.17
"
,
"vscode-languageserver-protocol"
:
"^3.
1.1
"
,
"vscode-languageserver-types"
:
"^3.
3
.0"
,
"vscode-languageclient"
:
"
^3.4.2
"
,
"vscode-languageserver-protocol"
:
"^3.
4.2
"
,
"vscode-languageserver-types"
:
"^3.
4
.0"
,
"vscode-nls"
:
"2.0.2"
},
"devDependencies"
:
{
...
...
extensions/html/server/npm-shrinkwrap.json
浏览文件 @
c6686be2
...
...
@@ -3,9 +3,9 @@
"version"
:
"1.0.0"
,
"dependencies"
:
{
"vscode-css-languageservice"
:
{
"version"
:
"2.1.
6
"
,
"version"
:
"2.1.
7
"
,
"from"
:
"vscode-css-languageservice@next"
,
"resolved"
:
"https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-2.1.
6
.tgz"
"resolved"
:
"https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-2.1.
7
.tgz"
},
"vscode-html-languageservice"
:
{
"version"
:
"2.0.8"
,
...
...
@@ -13,24 +13,24 @@
"resolved"
:
"https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-2.0.8.tgz"
},
"vscode-jsonrpc"
:
{
"version"
:
"3.
3.1
"
,
"from"
:
"vscode-jsonrpc@>=3.
3
.0 <4.0.0"
,
"resolved"
:
"https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.
3.1
.tgz"
"version"
:
"3.
4.0
"
,
"from"
:
"vscode-jsonrpc@>=3.
4
.0 <4.0.0"
,
"resolved"
:
"https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.
4.0
.tgz"
},
"vscode-languageserver"
:
{
"version"
:
"3.4.
0-next.6
"
,
"version"
:
"3.4.
2
"
,
"from"
:
"vscode-languageserver@next"
,
"resolved"
:
"https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-3.4.
0-next.6
.tgz"
"resolved"
:
"https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-3.4.
2
.tgz"
},
"vscode-languageserver-protocol"
:
{
"version"
:
"3.
1.1
"
,
"from"
:
"vscode-languageserver-protocol@
>=3.1.1 <4.0.0
"
,
"resolved"
:
"https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.
1.1
.tgz"
"version"
:
"3.
4.2
"
,
"from"
:
"vscode-languageserver-protocol@
3.4.2
"
,
"resolved"
:
"https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.
4.2
.tgz"
},
"vscode-languageserver-types"
:
{
"version"
:
"3.
3
.0"
,
"from"
:
"vscode-languageserver-types@
>=3.3.0 <4.0
.0"
,
"resolved"
:
"https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.
3
.0.tgz"
"version"
:
"3.
4
.0"
,
"from"
:
"vscode-languageserver-types@
3.4
.0"
,
"resolved"
:
"https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.
4
.0.tgz"
},
"vscode-nls"
:
{
"version"
:
"2.0.2"
,
...
...
extensions/html/server/package.json
浏览文件 @
c6686be2
...
...
@@ -8,10 +8,10 @@
"node"
:
"*"
},
"dependencies"
:
{
"vscode-css-languageservice"
:
"^2.1.
6
"
,
"vscode-css-languageservice"
:
"^2.1.
7
"
,
"vscode-html-languageservice"
:
"^2.0.8"
,
"vscode-languageserver"
:
"
3.4.0-next.6
"
,
"vscode-languageserver-protocol"
:
"^3.
1.1
"
,
"vscode-languageserver"
:
"
^3.4.2
"
,
"vscode-languageserver-protocol"
:
"^3.
4.2
"
,
"vscode-languageserver-types"
:
"^3.3.0"
,
"vscode-nls"
:
"^2.0.2"
,
"vscode-uri"
:
"^1.0.1"
...
...
extensions/html/server/src/htmlServerMain.ts
浏览文件 @
c6686be2
...
...
@@ -4,13 +4,13 @@
*--------------------------------------------------------------------------------------------*/
'
use strict
'
;
import
{
createConnection
,
IConnection
,
TextDocuments
,
InitializeParams
,
InitializeResult
,
RequestType
,
DocumentRangeFormattingRequest
,
Disposable
,
DocumentSelector
,
GetConfigurationParams
,
TextDocumentPositionParams
,
ServerCapabilities
,
Position
}
from
'
vscode-languageserver
'
;
import
{
createConnection
,
IConnection
,
TextDocuments
,
InitializeParams
,
InitializeResult
,
RequestType
,
DocumentRangeFormattingRequest
,
Disposable
,
DocumentSelector
,
TextDocumentPositionParams
,
ServerCapabilities
,
Position
}
from
'
vscode-languageserver
'
;
import
{
DocumentContext
}
from
'
vscode-html-languageservice
'
;
import
{
TextDocument
,
Diagnostic
,
DocumentLink
,
SymbolInformation
}
from
'
vscode-languageserver-types
'
;
import
{
getLanguageModes
,
LanguageModes
,
Settings
}
from
'
./modes/languageModes
'
;
import
{
GetConfigurationRequest
}
from
'
vscode-languageserver-protocol/lib/protocol.configuration.proposed
'
;
import
{
DocumentColorRequest
,
ServerCapabilities
as
CPServerCapabilities
,
ColorInformation
}
from
'
vscode-languageserver-protocol/lib/protocol.colorProvider.proposed
'
;
import
{
ConfigurationRequest
,
ConfigurationParams
}
from
'
vscode-languageserver-protocol/lib/protocol.configuration.proposed
'
;
import
{
DocumentColorRequest
,
ServerCapabilities
as
CPServerCapabilities
,
ColorInformation
,
ColorPresentationRequest
}
from
'
vscode-languageserver-protocol/lib/protocol.colorProvider.proposed
'
;
import
{
format
}
from
'
./modes/formatting
'
;
import
{
pushAll
}
from
'
./utils/arrays
'
;
...
...
@@ -58,8 +58,8 @@ function getDocumentSettings(textDocument: TextDocument, needsDocumentSettings:
let
promise
=
documentSettings
[
textDocument
.
uri
];
if
(
!
promise
)
{
let
scopeUri
=
textDocument
.
uri
;
let
configRequestParam
:
Get
ConfigurationParams
=
{
items
:
[{
scopeUri
,
section
:
'
css
'
},
{
scopeUri
,
section
:
'
html
'
},
{
scopeUri
,
section
:
'
javascript
'
}]
};
promise
=
connection
.
sendRequest
(
Get
ConfigurationRequest
.
type
,
configRequestParam
).
then
(
s
=>
({
css
:
s
[
0
],
html
:
s
[
1
],
javascript
:
s
[
2
]
}));
let
configRequestParam
:
ConfigurationParams
=
{
items
:
[{
scopeUri
,
section
:
'
css
'
},
{
scopeUri
,
section
:
'
html
'
},
{
scopeUri
,
section
:
'
javascript
'
}]
};
promise
=
connection
.
sendRequest
(
ConfigurationRequest
.
type
,
configRequestParam
).
then
(
s
=>
({
css
:
s
[
0
],
html
:
s
[
1
],
javascript
:
s
[
2
]
}));
documentSettings
[
textDocument
.
uri
]
=
promise
;
}
return
promise
;
...
...
@@ -323,6 +323,17 @@ connection.onRequest(DocumentColorRequest.type, params => {
return
infos
;
});
connection
.
onRequest
(
ColorPresentationRequest
.
type
,
params
=>
{
let
document
=
documents
.
get
(
params
.
textDocument
.
uri
);
if
(
document
)
{
let
mode
=
languageModes
.
getModeAtPosition
(
document
,
params
.
colorInfo
.
range
.
start
);
if
(
mode
&&
mode
.
getColorPresentations
)
{
return
mode
.
getColorPresentations
(
document
,
params
.
colorInfo
);
}
}
return
[];
});
connection
.
onRequest
(
TagCloseRequest
.
type
,
params
=>
{
let
document
=
documents
.
get
(
params
.
textDocument
.
uri
);
if
(
document
)
{
...
...
extensions/html/server/src/modes/cssMode.ts
浏览文件 @
c6686be2
...
...
@@ -7,7 +7,7 @@
import
{
LanguageModelCache
,
getLanguageModelCache
}
from
'
../languageModelCache
'
;
import
{
TextDocument
,
Position
}
from
'
vscode-languageserver-types
'
;
import
{
getCSSLanguageService
,
Stylesheet
}
from
'
vscode-css-languageservice
'
;
import
{
LanguageMode
,
Settings
}
from
'
./languageModes
'
;
import
{
LanguageMode
,
Settings
,
ColorInformation
}
from
'
./languageModes
'
;
import
{
HTMLDocumentRegions
,
CSS_STYLE_RULE
}
from
'
./embeddedSupport
'
;
export
function
getCSSMode
(
documentRegions
:
LanguageModelCache
<
HTMLDocumentRegions
>
):
LanguageMode
{
...
...
@@ -54,6 +54,10 @@ export function getCSSMode(documentRegions: LanguageModelCache<HTMLDocumentRegio
let
embedded
=
embeddedCSSDocuments
.
get
(
document
);
return
cssLanguageService
.
findDocumentColors
(
embedded
,
cssStylesheets
.
get
(
embedded
));
},
getColorPresentations
(
document
:
TextDocument
,
colorInfo
:
ColorInformation
)
{
let
embedded
=
embeddedCSSDocuments
.
get
(
document
);
return
cssLanguageService
.
getColorPresentations
(
embedded
,
cssStylesheets
.
get
(
embedded
),
colorInfo
);
},
onDocumentRemoved
(
document
:
TextDocument
)
{
embeddedCSSDocuments
.
onDocumentRemoved
(
document
);
cssStylesheets
.
onDocumentRemoved
(
document
);
...
...
extensions/html/server/src/modes/languageModes.ts
浏览文件 @
c6686be2
...
...
@@ -10,7 +10,7 @@ import {
Hover
,
DocumentHighlight
,
CompletionList
,
Position
,
FormattingOptions
,
SymbolInformation
}
from
'
vscode-languageserver-types
'
;
import
{
ColorInformation
}
from
'
vscode-languageserver-protocol/lib/protocol.colorProvider.proposed
'
;
import
{
ColorInformation
,
ColorPresentation
}
from
'
vscode-languageserver-protocol/lib/protocol.colorProvider.proposed
'
;
import
{
getLanguageModelCache
,
LanguageModelCache
}
from
'
../languageModelCache
'
;
import
{
getDocumentRegions
,
HTMLDocumentRegions
}
from
'
./embeddedSupport
'
;
...
...
@@ -18,6 +18,8 @@ import { getCSSMode } from './cssMode';
import
{
getJavascriptMode
}
from
'
./javascriptMode
'
;
import
{
getHTMLMode
}
from
'
./htmlMode
'
;
export
{
ColorInformation
,
ColorPresentation
};
export
interface
Settings
{
css
?:
any
;
html
?:
any
;
...
...
@@ -43,6 +45,7 @@ export interface LanguageMode {
findReferences
?:
(
document
:
TextDocument
,
position
:
Position
)
=>
Location
[];
format
?:
(
document
:
TextDocument
,
range
:
Range
,
options
:
FormattingOptions
,
settings
:
Settings
)
=>
TextEdit
[];
findDocumentColors
?:
(
document
:
TextDocument
)
=>
ColorInformation
[];
getColorPresentations
?:
(
document
:
TextDocument
,
colorInfo
:
ColorInformation
)
=>
ColorPresentation
[];
doAutoClose
?:
(
document
:
TextDocument
,
position
:
Position
)
=>
string
;
onDocumentRemoved
(
document
:
TextDocument
):
void
;
dispose
():
void
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录