Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
2ba39acf
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2ba39acf
编写于
6月 29, 2016
作者:
M
Martin Aeschlimann
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
JSON seems to keep diagnostics around when document closes, for #5769
上级
dd32bd64
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
11 deletion
+14
-11
extensions/css/server/src/cssServerMain.ts
extensions/css/server/src/cssServerMain.ts
+14
-11
未找到文件。
extensions/css/server/src/cssServerMain.ts
浏览文件 @
2ba39acf
...
...
@@ -22,8 +22,7 @@ export interface Settings {
scss
:
LanguageSettings
;
}
// Create a connection for the server. The connection uses for
// stdin / stdout for message passing
// Create a connection for the server.
let
connection
:
IConnection
=
createConnection
(
new
IPCMessageReader
(
process
),
new
IPCMessageWriter
(
process
));
console
.
log
=
connection
.
console
.
log
.
bind
(
connection
.
console
);
...
...
@@ -91,27 +90,31 @@ function updateConfiguration(settings: Settings) {
documents
.
all
().
forEach
(
triggerValidation
);
}
let
pendingValidationRequests
:
{[
uri
:
string
]:
number
}
=
{};
const
validationDelayMs
=
200
;
// The content of a text document has changed. This event is emitted
// when the text document first opened or when its content has changed.
documents
.
onDidChangeContent
(
change
=>
{
triggerValidation
(
change
.
document
);
});
let
pendingValidationRequests
:
{[
uri
:
string
]:
number
}
=
{};
const
validationDelayMs
=
200
;
documents
.
onDidClose
(
e
=>
{
let
request
=
pendingValidationRequests
[
e
.
document
.
uri
];
if
(
request
)
{
clearTimeout
(
request
);
delete
pendingValidationRequests
[
e
.
document
.
uri
];
}
// a document has closed: clear all diagnostics
documents
.
onDidClose
(
event
=>
{
cleanPendingValidation
(
event
.
document
);
connection
.
sendDiagnostics
({
uri
:
event
.
document
.
uri
,
diagnostics
:
[]
});
});
function
trigger
Validation
(
textDocument
:
TextDocument
):
void
{
function
cleanPending
Validation
(
textDocument
:
TextDocument
):
void
{
let
request
=
pendingValidationRequests
[
textDocument
.
uri
];
if
(
request
)
{
clearTimeout
(
request
);
delete
pendingValidationRequests
[
textDocument
.
uri
];
}
}
function
triggerValidation
(
textDocument
:
TextDocument
):
void
{
cleanPendingValidation
(
textDocument
);
pendingValidationRequests
[
textDocument
.
uri
]
=
setTimeout
(()
=>
{
delete
pendingValidationRequests
[
textDocument
.
uri
];
validateTextDocument
(
textDocument
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录