Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gzupanda
code-server
提交
e14362f3
C
code-server
项目概览
gzupanda
/
code-server
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
code-server
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
e14362f3
编写于
11月 14, 2019
作者:
A
Asher
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Pass along Node options
上级
917aa480
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
8 deletion
+15
-8
src/node/cli.ts
src/node/cli.ts
+15
-8
未找到文件。
src/node/cli.ts
浏览文件 @
e14362f3
...
...
@@ -47,7 +47,6 @@ const getArgs = (): Args => {
case
"
wait
"
:
case
"
disable-gpu
"
:
// TODO: pretty sure these don't work but not 100%.
case
"
max-memory
"
:
case
"
prof-startup
"
:
case
"
inspect-extensions
"
:
case
"
inspect-brk-extensions
"
:
...
...
@@ -82,8 +81,7 @@ const getArgs = (): Args => {
return
validatePaths
(
args
);
};
const
startVscode
=
async
():
Promise
<
void
|
void
[]
>
=>
{
const
args
=
getArgs
();
const
startVscode
=
async
(
args
:
Args
):
Promise
<
void
|
void
[]
>
=>
{
const
extra
=
args
[
"
_
"
]
||
[];
const
options
=
{
auth
:
args
.
auth
||
AuthType
.
Password
,
...
...
@@ -155,8 +153,7 @@ const startVscode = async (): Promise<void | void[]> => {
}
};
const
startCli
=
():
boolean
|
Promise
<
void
>
=>
{
const
args
=
getArgs
();
const
startCli
=
(
args
:
Args
):
boolean
|
Promise
<
void
>
=>
{
if
(
args
.
help
)
{
const
executable
=
`
${
product
.
applicationName
}${
os
.
platform
()
===
"
win32
"
?
"
.exe
"
:
""
}
`
;
console
.
log
(
buildHelpMessage
(
product
.
nameLong
,
executable
,
product
.
codeServerVersion
,
OPTIONS
,
false
));
...
...
@@ -198,7 +195,7 @@ export class WrapperProcess {
private
started
?:
Promise
<
void
>
;
private
currentVersion
=
product
.
codeServerVersion
;
public
constructor
()
{
public
constructor
(
private
readonly
args
:
Args
)
{
ipcMain
.
onMessage
(
async
(
message
)
=>
{
switch
(
message
.
type
)
{
case
"
relaunch
"
:
...
...
@@ -235,6 +232,14 @@ export class WrapperProcess {
}
private
spawn
():
cp
.
ChildProcess
{
// Flags to pass along to the Node binary. We use the environment variable
// since otherwise the code-server binary will swallow them.
const
maxMemory
=
this
.
args
[
"
max-memory
"
]
||
2048
;
let
nodeOptions
=
`
${
process
.
env
.
NODE_OPTIONS
||
""
}
${
this
.
args
[
"
js-flags
"
]
||
""
}
`
;
if
(
!
/max_old_space_size=
(\d
+
)
/g
.
exec
(
nodeOptions
))
{
nodeOptions
+=
` --max_old_space_size=
${
maxMemory
}
`
;
}
// If we're using loose files then we need to specify the path. If we're in
// the binary we need to let the binary determine the path (via nbin) since
// it could be different between binaries which presents a problem when
...
...
@@ -246,6 +251,7 @@ export class WrapperProcess {
LAUNCH_VSCODE
:
"
true
"
,
NBIN_BYPASS
:
undefined
,
VSCODE_PARENT_PID
:
process
.
pid
.
toString
(),
NODE_OPTIONS
:
nodeOptions
,
},
stdio
:
[
"
inherit
"
,
"
inherit
"
,
"
inherit
"
,
"
ipc
"
],
});
...
...
@@ -253,11 +259,12 @@ export class WrapperProcess {
}
const
main
=
async
():
Promise
<
boolean
|
void
|
void
[]
>
=>
{
const
args
=
getArgs
();
if
(
process
.
env
.
LAUNCH_VSCODE
)
{
await
ipcMain
.
handshake
();
return
startVscode
();
return
startVscode
(
args
);
}
return
startCli
(
)
||
new
WrapperProcess
(
).
start
();
return
startCli
(
args
)
||
new
WrapperProcess
(
args
).
start
();
};
const
exit
=
process
.
exit
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录