我正在开始一个新项目:基本上是一个非常简单的基于浏览器的矢量图形编辑器。我将使用jQuery-UI和Paper.js库以及VS Code。
我希望IntelliSense自动完成功能适用于jQuery-UI,可能既可以内联在.htm文件和外部.js文件中,也可以内联于PaperScript在外部.js文件中。
我已经通过npm安装了paper和jquery-ui,并且还安装了相应的类型(@ type / paper,/ jquery,/ jqueryui)。我还创建了一个jsconfig.json,其中明确包含了这些模块。
我想指出的是,这对我来说是新事物,因为自html5以来我就没有使用过Javascript。
例如: index.html
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="node_modules/paper/dist/paper-full.js"></script>
<script type="text/javascript" src="node_modules/jquery-ui-dist/external/jquery/jquery.js"></script>
<script type="text/javascript" src="node_modules/jquery-ui-dist/jquery-ui.js"></script>
<link rel="stylesheet" href="node_modules/jquery-ui-dist/jquery-ui.structure.css" />
<link rel="stylesheet" href="node_modules/jquery-ui-dist/jquery-ui.theme.css" />
</head>
<body>
<script type="text/paperscript" src="editor.js" canvas="canvas-1"></script>
<canvas id="canvas-1"></canvas>
<script type="text/javascript">
$(document).ready(function () {
$("#button-1").button();
})
</script>
<button id="button-1">
Hey
</button>
</body>
</html>
editor.js
var ball = new Path.Circle(view.center, 20);
ball.fillColor = 'black';
先前的代码按预期工作(它会生成一个黑圈和一个正确格式化的按钮),但是index.html中的jQuery位未显示jQuery-UI特定的自动完成选项(在这种情况下为.button()) 。 editor.js中的paperscript代码也是如此。如果我import { *stuff* } from "paper";
,则会有paper.js的类型,但这会破坏浏览器上的代码,这也不是我一直在寻找的,因为我想在PaperScript范围而不是Javascript中工作。或者至少我想选择。 PaperScript自动完成功能在<script type="text/paperscript">...</script>
中也不能内联工作。该代码当然有效,但是没有IntelliSense。