Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
b8b81b73
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,发现更多精彩内容 >>
提交
b8b81b73
编写于
5月 18, 2017
作者:
M
Matt Bierner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add tsserver.debug option
上级
6d8e64ee
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
43 addition
and
8 deletion
+43
-8
.vscode/launch.json
.vscode/launch.json
+11
-0
extensions/typescript/src/typescriptServiceClient.ts
extensions/typescript/src/typescriptServiceClient.ts
+32
-8
未找到文件。
.vscode/launch.json
浏览文件 @
b8b81b73
...
...
@@ -163,6 +163,17 @@
"outFiles"
:
[
"${workspaceRoot}/extensions/git/out/**/*.js"
]
},
{
"name"
:
"Attach to TS Server"
,
"type"
:
"node"
,
"request"
:
"attach"
,
"port"
:
5859
,
"sourceMaps"
:
true
,
"protocol"
:
"legacy"
,
"outFiles"
:
[
"${workspaceRoot}/extensions/node_modules/typescript/lib/**/*.js"
]
}
],
"compounds"
:
[
...
...
extensions/typescript/src/typescriptServiceClient.ts
浏览文件 @
b8b81b73
...
...
@@ -9,6 +9,7 @@ import * as cp from 'child_process';
import
*
as
path
from
'
path
'
;
import
*
as
fs
from
'
fs
'
;
import
*
as
os
from
'
os
'
;
import
*
as
net
from
'
net
'
;
import
*
as
electron
from
'
./utils/electron
'
;
import
{
Reader
}
from
'
./utils/wireProtocol
'
;
...
...
@@ -415,6 +416,8 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient
}
return
modulePath
;
}).
then
(
modulePath
=>
{
return
this
.
getDebugPort
().
then
(
debugPort
=>
({
modulePath
,
debugPort
}));
}).
then
(({
modulePath
,
debugPort
})
=>
{
return
this
.
servicePromise
=
new
Promise
<
cp
.
ChildProcess
>
((
resolve
,
reject
)
=>
{
const
tsConfig
=
workspace
.
getConfiguration
(
'
typescript
'
);
...
...
@@ -458,19 +461,16 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient
this
.
lastError
=
null
;
try
{
le
t
options
:
electron
.
IForkOptions
=
{
cons
t
options
:
electron
.
IForkOptions
=
{
execArgv
:
[]
// [`--debug-brk=5859`]
};
if
(
workspace
.
rootPath
)
{
options
.
cwd
=
workspace
.
rootPath
;
}
let
value
=
process
.
env
.
TSS_DEBUG
;
if
(
value
)
{
const
port
=
parseInt
(
value
);
if
(
!
isNaN
(
port
))
{
this
.
info
(
`TSServer started in debug mode using port
${
port
}
`
);
options
.
execArgv
=
[
`--debug=
${
port
}
`
];
}
if
(
debugPort
&&
!
isNaN
(
debugPort
))
{
this
.
info
(
`TSServer started in debug mode using port
${
debugPort
}
`
);
options
.
execArgv
=
[
`--debug=
${
debugPort
}
`
];
}
const
args
:
string
[]
=
[];
...
...
@@ -560,6 +560,30 @@ export default class TypeScriptServiceClient implements ITypescriptServiceClient
});
}
private
getDebugPort
():
Promise
<
number
|
undefined
>
{
const
value
=
process
.
env
.
TSS_DEBUG
;
if
(
value
)
{
const
port
=
parseInt
(
value
);
if
(
!
isNaN
(
port
))
{
return
Promise
.
resolve
(
port
);
}
}
if
(
workspace
.
getConfiguration
(
'
typescript
'
).
get
<
boolean
>
(
'
tsserver.debug
'
,
false
))
{
return
Promise
.
race
([
new
Promise
<
undefined
>
((
resolve
)
=>
setTimeout
(()
=>
resolve
(
undefined
),
1000
)),
new
Promise
<
number
|
undefined
>
((
resolve
)
=>
{
const
server
=
net
.
createServer
(
sock
=>
sock
.
end
());
server
.
listen
(
0
,
function
()
{
resolve
(
server
.
address
().
port
);
});
})
]);
}
return
Promise
.
resolve
(
undefined
);
}
public
onVersionStatusClicked
():
Thenable
<
string
>
{
return
this
.
showVersionPicker
(
false
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录