Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
fe5315ba
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,发现更多精彩内容 >>
未验证
提交
fe5315ba
编写于
9月 23, 2019
作者:
A
Alex Dima
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Ship codicon with the standalone editor
上级
14d47d35
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
57 addition
and
85 deletion
+57
-85
build/gulpfile.editor.js
build/gulpfile.editor.js
+1
-8
build/lib/standalone.js
build/lib/standalone.js
+27
-25
build/lib/standalone.ts
build/lib/standalone.ts
+29
-28
src/vs/base/browser/ui/codiconLabel/codiconLabel.mock.ts
src/vs/base/browser/ui/codiconLabel/codiconLabel.mock.ts
+0
-24
未找到文件。
build/gulpfile.editor.js
浏览文件 @
fe5315ba
...
...
@@ -41,13 +41,7 @@ var editorEntryPoints = [
];
var
editorResources
=
[
'
out-build/vs/{base,editor}/**/*.{svg,png}
'
,
'
!out-build/vs/base/browser/ui/splitview/**/*
'
,
'
!out-build/vs/base/browser/ui/toolbar/**/*
'
,
'
!out-build/vs/base/browser/ui/octiconLabel/**/*
'
,
'
!out-build/vs/base/browser/ui/codiconLabel/**/*
'
,
'
!out-build/vs/workbench/**
'
,
'
!**/test/**
'
'
out-editor-build/vs/base/browser/ui/codiconLabel/**/*.ttf
'
];
var
BUNDLED_FILE_HEADER
=
[
...
...
@@ -92,7 +86,6 @@ const extractEditorSrcTask = task.define('extract-editor-src', () => {
],
redirects
:
{
'
vs/base/browser/ui/octiconLabel/octiconLabel
'
:
'
vs/base/browser/ui/octiconLabel/octiconLabel.mock
'
,
'
vs/base/browser/ui/codiconLabel/codiconLabel
'
:
'
vs/base/browser/ui/codiconLabel/codiconLabel.mock
'
,
},
shakeLevel
:
2
,
// 0-Files, 1-InnerFile, 2-ClassMembers
importIgnorePattern
:
/
(
^vs
\/
css!
)
|
(
promise-polyfill
\/
polyfill
)
/
,
...
...
build/lib/standalone.js
浏览文件 @
fe5315ba
...
...
@@ -130,7 +130,7 @@ function createESMSourcesAndResources2(options) {
write
(
getDestAbsoluteFilePath
(
file
),
JSON
.
stringify
(
tsConfig
,
null
,
'
\t
'
));
continue
;
}
if
(
/
\.
d
\.
ts$/
.
test
(
file
)
||
/
\.
css$/
.
test
(
file
)
||
/
\.
js$/
.
test
(
file
))
{
if
(
/
\.
d
\.
ts$/
.
test
(
file
)
||
/
\.
css$/
.
test
(
file
)
||
/
\.
js$/
.
test
(
file
)
||
/
\.
ttf$/
.
test
(
file
)
)
{
// Transport the files directly
write
(
getDestAbsoluteFilePath
(
file
),
fs
.
readFileSync
(
path
.
join
(
SRC_FOLDER
,
file
)));
continue
;
...
...
@@ -250,35 +250,37 @@ function transportCSS(module, enqueue, write) {
const
filename
=
path
.
join
(
SRC_DIR
,
module
);
const
fileContents
=
fs
.
readFileSync
(
filename
).
toString
();
const
inlineResources
=
'
base64
'
;
// see https://github.com/Microsoft/monaco-editor/issues/148
const
inlineResourcesLimit
=
300000
;
//3000; // see https://github.com/Microsoft/monaco-editor/issues/336
const
newContents
=
_rewriteOrInlineUrls
(
fileContents
,
inlineResources
===
'
base64
'
,
inlineResourcesLimit
);
const
newContents
=
_rewriteOrInlineUrls
(
fileContents
,
inlineResources
===
'
base64
'
);
write
(
module
,
newContents
);
return
true
;
function
_rewriteOrInlineUrls
(
contents
,
forceBase64
,
inlineByteLimit
)
{
function
_rewriteOrInlineUrls
(
contents
,
forceBase64
)
{
return
_replaceURL
(
contents
,
(
url
)
=>
{
let
imagePath
=
path
.
join
(
path
.
dirname
(
module
),
url
);
let
fileContents
=
fs
.
readFileSync
(
path
.
join
(
SRC_DIR
,
imagePath
));
if
(
fileContents
.
length
<
inlineByteLimit
)
{
const
MIME
=
/
\.
svg$/
.
test
(
url
)
?
'
image/svg+xml
'
:
'
image/png
'
;
let
DATA
=
'
;base64,
'
+
fileContents
.
toString
(
'
base64
'
);
if
(
!
forceBase64
&&
/
\.
svg$/
.
test
(
url
))
{
// .svg => url encode as explained at https://codepen.io/tigt/post/optimizing-svgs-in-data-uris
let
newText
=
fileContents
.
toString
()
.
replace
(
/"/g
,
'
\'
'
)
.
replace
(
/</g
,
'
%3C
'
)
.
replace
(
/>/g
,
'
%3E
'
)
.
replace
(
/&/g
,
'
%26
'
)
.
replace
(
/#/g
,
'
%23
'
)
.
replace
(
/
\s
+/g
,
'
'
);
let
encodedData
=
'
,
'
+
newText
;
if
(
encodedData
.
length
<
DATA
.
length
)
{
DATA
=
encodedData
;
}
const
fontMatch
=
url
.
match
(
/^
(
.*
)
.ttf
\?(
.*
)
$/
);
if
(
fontMatch
)
{
const
relativeFontPath
=
`
${
fontMatch
[
1
]}
.ttf`
;
// trim the query parameter
const
fontPath
=
path
.
join
(
path
.
dirname
(
module
),
relativeFontPath
);
enqueue
(
fontPath
);
return
relativeFontPath
;
}
const
imagePath
=
path
.
join
(
path
.
dirname
(
module
),
url
);
const
fileContents
=
fs
.
readFileSync
(
path
.
join
(
SRC_DIR
,
imagePath
));
const
MIME
=
/
\.
svg$/
.
test
(
url
)
?
'
image/svg+xml
'
:
'
image/png
'
;
let
DATA
=
'
;base64,
'
+
fileContents
.
toString
(
'
base64
'
);
if
(
!
forceBase64
&&
/
\.
svg$/
.
test
(
url
))
{
// .svg => url encode as explained at https://codepen.io/tigt/post/optimizing-svgs-in-data-uris
let
newText
=
fileContents
.
toString
()
.
replace
(
/"/g
,
'
\'
'
)
.
replace
(
/</g
,
'
%3C
'
)
.
replace
(
/>/g
,
'
%3E
'
)
.
replace
(
/&/g
,
'
%26
'
)
.
replace
(
/#/g
,
'
%23
'
)
.
replace
(
/
\s
+/g
,
'
'
);
let
encodedData
=
'
,
'
+
newText
;
if
(
encodedData
.
length
<
DATA
.
length
)
{
DATA
=
encodedData
;
}
return
'
"data:
'
+
MIME
+
DATA
+
'
"
'
;
}
enqueue
(
imagePath
);
return
url
;
return
'
"data:
'
+
MIME
+
DATA
+
'
"
'
;
});
}
function
_replaceURL
(
contents
,
replacer
)
{
...
...
build/lib/standalone.ts
浏览文件 @
fe5315ba
...
...
@@ -154,7 +154,7 @@ export function createESMSourcesAndResources2(options: IOptions2): void {
continue
;
}
if
(
/
\.
d
\.
ts$/
.
test
(
file
)
||
/
\.
css$/
.
test
(
file
)
||
/
\.
js$/
.
test
(
file
))
{
if
(
/
\.
d
\.
ts$/
.
test
(
file
)
||
/
\.
css$/
.
test
(
file
)
||
/
\.
js$/
.
test
(
file
)
||
/
\.
ttf$/
.
test
(
file
)
)
{
// Transport the files directly
write
(
getDestAbsoluteFilePath
(
file
),
fs
.
readFileSync
(
path
.
join
(
SRC_FOLDER
,
file
)));
continue
;
...
...
@@ -290,40 +290,41 @@ function transportCSS(module: string, enqueue: (module: string) => void, write:
const
filename
=
path
.
join
(
SRC_DIR
,
module
);
const
fileContents
=
fs
.
readFileSync
(
filename
).
toString
();
const
inlineResources
=
'
base64
'
;
// see https://github.com/Microsoft/monaco-editor/issues/148
const
inlineResourcesLimit
=
300000
;
//3000; // see https://github.com/Microsoft/monaco-editor/issues/336
const
newContents
=
_rewriteOrInlineUrls
(
fileContents
,
inlineResources
===
'
base64
'
,
inlineResourcesLimit
);
const
newContents
=
_rewriteOrInlineUrls
(
fileContents
,
inlineResources
===
'
base64
'
);
write
(
module
,
newContents
);
return
true
;
function
_rewriteOrInlineUrls
(
contents
:
string
,
forceBase64
:
boolean
,
inlineByteLimit
:
number
):
string
{
function
_rewriteOrInlineUrls
(
contents
:
string
,
forceBase64
:
boolean
):
string
{
return
_replaceURL
(
contents
,
(
url
)
=>
{
let
imagePath
=
path
.
join
(
path
.
dirname
(
module
),
url
);
let
fileContents
=
fs
.
readFileSync
(
path
.
join
(
SRC_DIR
,
imagePath
));
if
(
fileContents
.
length
<
inlineByteLimit
)
{
const
MIME
=
/
\.
svg$/
.
test
(
url
)
?
'
image/svg+xml
'
:
'
image/png
'
;
let
DATA
=
'
;base64,
'
+
fileContents
.
toString
(
'
base64
'
);
if
(
!
forceBase64
&&
/
\.
svg$/
.
test
(
url
))
{
// .svg => url encode as explained at https://codepen.io/tigt/post/optimizing-svgs-in-data-uris
let
newText
=
fileContents
.
toString
()
.
replace
(
/"/g
,
'
\'
'
)
.
replace
(
/</g
,
'
%3C
'
)
.
replace
(
/>/g
,
'
%3E
'
)
.
replace
(
/&/g
,
'
%26
'
)
.
replace
(
/#/g
,
'
%23
'
)
.
replace
(
/
\s
+/g
,
'
'
);
let
encodedData
=
'
,
'
+
newText
;
if
(
encodedData
.
length
<
DATA
.
length
)
{
DATA
=
encodedData
;
}
}
return
'
"data:
'
+
MIME
+
DATA
+
'
"
'
;
const
fontMatch
=
url
.
match
(
/^
(
.*
)
.ttf
\?(
.*
)
$/
);
if
(
fontMatch
)
{
const
relativeFontPath
=
`
${
fontMatch
[
1
]}
.ttf`
;
// trim the query parameter
const
fontPath
=
path
.
join
(
path
.
dirname
(
module
),
relativeFontPath
);
enqueue
(
fontPath
);
return
relativeFontPath
;
}
enqueue
(
imagePath
);
return
url
;
const
imagePath
=
path
.
join
(
path
.
dirname
(
module
),
url
);
const
fileContents
=
fs
.
readFileSync
(
path
.
join
(
SRC_DIR
,
imagePath
));
const
MIME
=
/
\.
svg$/
.
test
(
url
)
?
'
image/svg+xml
'
:
'
image/png
'
;
let
DATA
=
'
;base64,
'
+
fileContents
.
toString
(
'
base64
'
);
if
(
!
forceBase64
&&
/
\.
svg$/
.
test
(
url
))
{
// .svg => url encode as explained at https://codepen.io/tigt/post/optimizing-svgs-in-data-uris
let
newText
=
fileContents
.
toString
()
.
replace
(
/"/g
,
'
\'
'
)
.
replace
(
/</g
,
'
%3C
'
)
.
replace
(
/>/g
,
'
%3E
'
)
.
replace
(
/&/g
,
'
%26
'
)
.
replace
(
/#/g
,
'
%23
'
)
.
replace
(
/
\s
+/g
,
'
'
);
let
encodedData
=
'
,
'
+
newText
;
if
(
encodedData
.
length
<
DATA
.
length
)
{
DATA
=
encodedData
;
}
}
return
'
"data:
'
+
MIME
+
DATA
+
'
"
'
;
});
}
...
...
src/vs/base/browser/ui/codiconLabel/codiconLabel.mock.ts
已删除
100644 → 0
浏览文件 @
14d47d35
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
{
escape
}
from
'
vs/base/common/strings
'
;
export
function
renderCodicons
(
text
:
string
):
string
{
return
escape
(
text
);
}
export
class
CodiconLabel
{
private
_container
:
HTMLElement
;
constructor
(
container
:
HTMLElement
)
{
this
.
_container
=
container
;
}
set
text
(
text
:
string
)
{
this
.
_container
.
innerHTML
=
renderCodicons
(
text
||
''
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录