小编Dom*_*ber的帖子

Visual Studio Code键盘快捷键选项列表

Visual Studio Code在其键绑定中具有高度可定制性,特别是在涉及上下文绑定时("when"用于将相同的快捷方式绑定到不同上下文中的不同命令).

我正在寻找可以在这些"when"条件下使用的变量列表.(有一个很棒的命令列表,但那里没有列出条件).我看到条件是一个必须求值为布尔值的JavaScript表达式,但不清楚范围内的变量是什么.

有人可以提供这样的清单吗?

visual-studio-code

13
推荐指数
3
解决办法
2799
查看次数

rollup-plugins 可以访问插件链中先前插件创建的 AST 吗?

我们使用多个汇总插件将其输入解析为 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)

rollup rollupjs

7
推荐指数
0
解决办法
860
查看次数

如何在maven插件中处理项目源

我正在编写一个maven插件,基本上应该执行以下操作:

  1. 处理构建的所有项目类
  2. 创建一个描述源代码部分的文件
  3. 将该文件添加到构建的jar中(作为目录中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找到它).

java maven-plugin maven

6
推荐指数
1
解决办法
2944
查看次数

调整插入内容的svg图像:url()

好吧,我得到的是以下内容:多个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本身)?

html css svg

6
推荐指数
1
解决办法
3684
查看次数

char*foo vs char*foo

简单的问题是:你为什么写

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(正如所解释的,对我来说似乎更方便).

c c++ coding-style

5
推荐指数
2
解决办法
2975
查看次数

在IE11中将Blob网址用于src

我们正在<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中则不能(对于未定义URLBlob未定义的浏览器,我们会使用该javascript:解决方案)。IE11加注。SCRIPT5: Access is denied

我们是否滥用API?IE是否有特殊的API?已知的解决方法?

javascript internet-explorer

5
推荐指数
1
解决办法
4108
查看次数

svg 作为背景图像:xlink 到原始文档中的 id

我们有一个内嵌到文档底部的图标库,例如

<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(&apos;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>&apos;)'></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)

html svg

5
推荐指数
1
解决办法
1666
查看次数

VSCode 任务运行位于任何地方的 ant 构建文件

我有一个庞大的项目,分布在多个源目录中,该项目是在过去 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)

ant visual-studio-code vscode-tasks

4
推荐指数
1
解决办法
8157
查看次数

VSCode problemMatcher 严重性映射

我有一个自定义的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"(目光短浅,我知道——目前就足够了)。

javascript ant visual-studio-code vscode-problem-matcher

1
推荐指数
1
解决办法
1022
查看次数