Visual Studio Code在其键绑定中具有高度可定制性,特别是在涉及上下文绑定时("when"用于将相同的快捷方式绑定到不同上下文中的不同命令).
我正在寻找可以在这些"when"条件下使用的变量列表.(有一个很棒的命令列表,但那里没有列出条件).我看到条件是一个必须求值为布尔值的JavaScript表达式,但不清楚范围内的变量是什么.
有人可以提供这样的清单吗?
我们使用多个汇总插件将其输入解析为 AST。由于它们在相同的文件上运行,因此每个文件都会被解析多次。是否可以对此进行优化,以便每个文件仅解析一次?最小的例子:
\n// rollup.config.js\nimport {createFilter}\xc2\xa0from \'@rollup/pluginutils\';\nimport {simple} from \'acorn-walk\';\nimport {attachComments}\xc2\xa0from \'astravel\';\nimport {generate} from \'astring\';\n\nexport default {\n input: \'src/main.js\',\n output: {file: \'bundle.js\', format: \'cjs\'},\n plugins: [{\n name: \'plugin1\',\n transform(code, id) {\n const comments = [];\n const ast = this.parse(code, {onComment: comments});\n attachComments(ast, comments);\n simple(ast, {\n Identifier(n) {\n // rewrite wrong to right\n if (n.name === \'wrong\') n.name = \'right\';\n }\n });\n\n return {\n code: generate(ast, {comments: true}),\n ast,\n map: null /* minimal example, won\'t create a source map here */\n …Run Code Online (Sandbox Code Playgroud) 我正在编写一个maven插件,基本上应该执行以下操作:
MANIFEST的新文件的添加或作为新文件META-INF)因为我刚刚创建maven插件的第一步是我的(可能是愚蠢的)问题:
如何从构建项目时执行的插件访问项目的源代码(最佳方式:作为我可以轻松处理的构建路径上的包)?
到目前为止,我唯一的方法是获得项目的来源
// assuming the project exists (to exclude instance checks etc.)
MavenProject project = (MavenProject) getPluginContext().get("project");
String projectSource = project.getSourceDirectory();
Run Code Online (Sandbox Code Playgroud)
然后使用文件操作处理此目录的内容.但这对我来说似乎很难看,我确信存在更好的解决方案(我只是无法通过google,maven页面和stackoverflow找到它).
好吧,我得到的是以下内容:多个svg图像具有不同的宽度/高度,通过CSS插入到html中.我想将它们全部缩放到相同的宽度但不起作用(至少在Safari,Chrome和Firefox中不起作用).
HTML:
<h4 class="before" id="foo">Foo</h4>
<h4 class="before" id="bar">Bar</h4>
<h4 class="before" id="foobar">Foobar</h4>
Run Code Online (Sandbox Code Playgroud)
CSS:
.before:before { width: 20px; }
#foo:before { content:url('foo.svg'); }
#bar:before { content:url('bar.svg'); }
#foobar: before { content:url('foobar.svg'); }
Run Code Online (Sandbox Code Playgroud)
我怎样才能调整这些svg图像的大小,使它们每个显示宽度为20px(但不要更改svg本身)?
简单的问题是:你为什么写
char *foo;
Run Code Online (Sandbox Code Playgroud)
并不是
char* foo;
Run Code Online (Sandbox Code Playgroud)
让我解释一下:对我来说(来自Java),声明就是这样的
<variable-type> <variable-name>;
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我声明了一个名为footype 的变量char*(因为它是一个指向char的指针).但无论我在哪里阅读c/c ++/c#-Code它看起来像一个名为*footype 的变量char.编译器不关心空格,但我作为开发人员.
tl; dr我要求的是写作的一个很好的解释char *foo而不是char* foo(正如所解释的,对我来说似乎更方便).
我们正在<iframe>动态创建s(例如,用于富文本编辑器或调试窗口),并将html注入src。多年来,我们一直使用类似于该答案的javascript:网址,直到遇到带有多个独立iframe的同源策略问题。src
我们当前的解决方案是为包含html的blob创建一个对象url:
var iframe = document.createElement('iframe')
, html = '<h1>it works!</h1>'
, blob = new Blob([html], {type: 'text/html'})
, url = URL.createObjectURL(blob);
iframe.src = url;
document.querySelector('body').appendChild(iframe);Run Code Online (Sandbox Code Playgroud)
这在Chrome和Firefox中可以正常运行,但在IE11中则不能(对于未定义URL或Blob未定义的浏览器,我们会使用该javascript:解决方案)。IE11加注。SCRIPT5: Access is denied
我们是否滥用API?IE是否有特殊的API?已知的解决方法?
我们有一个内嵌到文档底部的图标库,例如
<svg xmlns="http://www.w3.org/2000/svg">
<symbol id="icon1" viewBox="0 0 100 100">
<rect x="0" y="0" width="100" height="100" fill="green"/>
</symbol>
<symbol id="icon2" viewBox="0 0 100 100">
<rect x="0" y="0" width="100" height="100" fill="red"/>
</symbol>
</svg>
Run Code Online (Sandbox Code Playgroud)
这些图标在我们需要的任何地方都被简单地引用,比如
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" width="16px" height="16px">
<use xlink:href="#icon1"/>
</svg>
Run Code Online (Sandbox Code Playgroud)
现在有时我们需要使用图标作为背景图像,类似于
<div style="width:16px; height:16px; background-size:cover; background-image: url(//placehold.it/16x16)"></div>Run Code Online (Sandbox Code Playgroud)
它可以使用svgs作为使用背景图片data:image/svg+xml数据URI描述在这里:
<div style='width:16px; height:16px; background-size:cover; background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><rect x="0" y="0" width="100" height="100" fill="red"/></svg>')'></div>Run Code Online (Sandbox Code Playgroud)
但是,从数据 URI 内部引用 ID 的工作方式不同:
<h3>referenced in <code>svg</code></h3>
<svg xmlns="http://www.w3.org/2000/svg" …Run Code Online (Sandbox Code Playgroud)我有一个庞大的项目,分布在多个源目录中,该项目是在过去 15 年中使用 eclipse 开发的,具有自定义外部工具配置,可以从源目录内任何位置的 build.xml 文件启动 ant 任务(我知道,这是一团糟!)。
由于日常工作主要是基于 xml 和 JavaScript,我认为 VSCode 作为一个轻量级替代方案(因为 eclipse 无法在不超过 HeepSpace 的情况下处理大型 xml 文件)。在我看来,任务运行器是将 ant 构建集成到编辑器中的好方法,它们也被宣传为能够运行 ant 构建:
例如 Make、Ant、Gulp、Jake、Rake 和 MSBuild 等。
我可以使用根文件夹中的 build.xml 运行 ant 构建。然而,这并不是该项目的结构。
有没有办法从工作空间根目录以外的目录运行任务命令(在我的例子中是ant) ?
我想到了类似 git 的GIT_WORK_TREE环境变量或执行两个命令的方法(例如cd {{build.xml folder}} && ant)。我当前的tasks.json是
{
"version": "0.1.0",
"command": "ant",
"isShellCommand": true,
"showOutput": "silent",
"args": ["all", "jar"],
"promlemMatcher": "" // I'm also not sure what to put here,
// but that's …Run Code Online (Sandbox Code Playgroud) 我有一个自定义的problemMatcher,用于调用Microsoft JScript 来lint JavaScript 文件的ant 任务(我无法将其更改为像ESHint 或类似的现代文件)。
JScript 有本身报告为“此错误可以被忽略...”的错误消息,在构建输出中如下所示:
[echo] c:\Users\D064766\Work\Perforce\tc1\lightspeed\dev\src\_javascript\jsgen\js\dbg\lightspeed.js(20, 4) Microsoft JScript runtime error: 'document' is undefined
[echo]
[echo] This error can be ignored...
Run Code Online (Sandbox Code Playgroud)
我的 problemMatcher 看起来如下:
"problemMatcher": [{
"owner": "javascript",
"fileLocation": ["absolute"],
"pattern": [{
"regexp": " \\[echo\\] ([^\\(\\)]*)\\((\\d+), (\\d+)\\) Microsoft JScript (runtime error|compilation error): (.*)",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}]
}]
Run Code Online (Sandbox Code Playgroud)
它正确地找到了错误报告的第一行。但是,我希望可以忽略的错误作为警告而不是错误报告中的错误发生。
有没有办法将错误消息映射到严重性级别?
例如映射"runtime error"到"warning"和"compilation error"到"error"(目光短浅,我知道——目前就足够了)。
ant ×2
html ×2
javascript ×2
svg ×2
c ×1
c++ ×1
coding-style ×1
css ×1
java ×1
maven ×1
maven-plugin ×1
rollup ×1
rollupjs ×1
vscode-tasks ×1