PhpStorm不会自动完成JavaScript本机方法或属性
PhpStorm does not autocomplete JavaScript native methods or properties
我使用PhpStorm,我注意到在编写JavaScript时,IDE不会自动完成PhpStork应该知道其类型的变量的本地方法或属性。
var checkButton = document.forms.addSeller.check;
checkButton.onclick = function(e) {
e.preventDefault();
var request = new XMLHttpRequest;
request.open("POST", "/seller");
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.onload = function() {
if (request.readyState == 4) {
if (request.status == 200) {
var response = JSON.parse(request.responseText);
console.log(response);
var target = document.getElementById("seller_info");
var image = document.createElement("img");
image.src = response.logo;
image.id = "seller_logo";
target.appendChild(image);
}
else {
alert("Problem!");
}
}
};
request.send("seller=" + document.forms.addSeller.seller.value);
}
方法(.preventDefault()
、.open()
、.setRequestHeader()
)或属性(.onload
、.onclick
)均未自动完成。
据我所知,设置看起来不错,但我没有找到特定的JavaScript自动完成设置。
有人知道我如何重新启用它吗?PhpStorm 100%知道它们是哪些对象,因为它能很好地进行语法高亮显示和错误报告,当我CTRL+单击
请尝试File
|Invalidate Caches
|Invalidate and Restart
,这通常会在出现此类奇怪问题时有所帮助。
2017-07-21 16:18:35,129 [ 290368] ERROR - on.CompletionProgressIndicator - PhpStorm 2017.2 Build #PS-172.3317.83
2017-07-21 16:18:35,129 [ 290368] ERROR - on.CompletionProgressIndicator - JDK: 1.8.0_152-release
2017-07-21 16:18:35,129 [ 290368] ERROR - on.CompletionProgressIndicator - VM: OpenJDK 64-Bit Server VM
2017-07-21 16:18:35,129 [ 290368] ERROR - on.CompletionProgressIndicator - Vendor: JetBrains s.r.o
2017-07-21 16:18:35,129 [ 290368] ERROR - on.CompletionProgressIndicator - OS: Mac OS X
2017-07-21 16:18:35,129 [ 290368] ERROR - on.CompletionProgressIndicator - Last Action: CodeCompletion
2017-07-21 16:18:35,275 [ 290514] ERROR - on.CompletionProgressIndicator - null
java.lang.NullPointerException
at com.jetbrains.php.lang.psi.resolve.types.PhpParameterBasedTypeProvider.isMeta(PhpParameterBasedTypeProvider.java:318)
at com.jetbrains.php.lang.inspections.suppression.PhpSuppressionUtil.isSuppressedFor(PhpSuppressionUtil.java:49)
at com.jetbrains.php.lang.inspections.suppression.PhpInspectionSuppressor.isSuppressedFor(PhpInspectionSuppressor.java:12)
at com.intellij.codeInspection.InspectionProfileEntry.isSuppressed(InspectionProfileEntry.java:167)
at com.intellij.codeInspection.InspectionProfileEntry.isSuppressedFor(InspectionProfileEntry.java:82)
at com.intellij.lang.javascript.frameworks.webpack.WebpackInJavaScriptJsonSchemaProvider.isWebpackInspectionAllowed(WebpackInJavaScriptJsonSchemaProvider.java:87)
at com.intellij.lang.javascript.frameworks.webpack.WebpackInJavaScriptJsonSchemaProvider.isAvailable(WebpackInJavaScriptJsonSchemaProvider.java:51)
at com.intellij.lang.javascript.json.JsonSchemaInJavaScriptCompletionContributor.lambda$fillCompletionVariants$0(JsonSchemaInJavaScriptCompletionContributor.java:24)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at com.intellij.lang.javascript.json.JsonSchemaInJavaScriptCompletionContributor.fillCompletionVariants(JsonSchemaInJavaScriptCompletionContributor.java:25)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:81)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:149)
at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:142)
at com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor$2.addCompletions(LiveTemplateCompletionContributor.java:88)
at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:36)
at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:150)
at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:81)
at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:110)
at com.intellij.codeInsight.completion.CompletionProgressIndicator.a(CompletionProgressIndicator.java:839)
at com.intellij.codeInsight.completion.CompletionProgressIndicator.access$600(CompletionProgressIndicator.java:92)
at com.intellij.codeInsight.completion.CompletionProgressIndicator$1CalculateItems.run(CompletionProgressIndicator.java:821)
at com.intellij.codeInsight.completion.AsyncCompletion.a(CompletionThreading.java:108)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:939)
at com.intellij.codeInsight.completion.AsyncCompletion.b(CompletionThreading.java:105)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:170)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:548)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:493)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:94)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:157)
at com.intellij.codeInsight.completion.AsyncCompletion.a(CompletionThreading.java:103)
at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:343)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2017-07-21 16:18:35,275 [ 290514] ERROR - on.CompletionProgressIndicator - PhpStorm 2017.2 Build #PS-172.3317.83
2017-07-21 16:18:35,275 [ 290514] ERROR - on.CompletionProgressIndicator - JDK: 1.8.0_152-release
2017-07-21 16:18:35,275 [ 290514] ERROR - on.CompletionProgressIndicator - VM: OpenJDK 64-Bit Server VM
2017-07-21 16:18:35,275 [ 290514] ERROR - on.CompletionProgressIndicator - Vendor: JetBrains s.r.o
2017-07-21 16:18:35,275 [ 290514] ERROR - on.CompletionProgressIndicator - OS: Mac OS X
2017-07-21 16:18:35,275 [ 290514] ERROR - on.CompletionProgressIndicator - Last Action: CodeCompletion
这是我的日志文件。
我的示例代码。
<script>
$(function () {
$("form#form_newGorevAdd").on("submit", function (e) {
e.preventDefault();
var $form = $(this);
document. /////// THIS IS PROBLEM. phpstorm doesnt show a list.
$ajaxFullLoader.fadeIn(500);
$.ajax({
url: 'admin/ajax/gorev/add',
type: 'POST',
data: $form.serialize(),
success: function (data) {
$ajaxFullLoader.fadeOut(500);
if(data.status === 1){
$form[0].reset();
$("#newGorevAdd").modal("close");
swal({
title: "Başarılı!",
html: data.message,
type:"success"
});
table_gorevList.ajax.reload();
}
else{
if(data.errors && data.errors.length > 0)
$.fn.ajaxError(data.errors.join("<br />"));
else
$.fn.ajaxError();
}
}
});
});
});
</script>
此问题与省电模式无关。
此错误发生在PhpStorm 2017.2 上
PhpStorm 2017.2
Build #PS-172.3317.83, built on July 18, 2017
Subscription is active until November 25, 2017
For educational use only.
JRE: 1.8.0_152-release-915-b5 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.12.5
和自动完成PhpStorm 2017.1
此外,php自动完成也运行得很好。这个文件是一个php文件,包含javascript代码。我用标签拆分了php和html/javascript代码
如果文件扩展名是.js,则使用自动完成。我的文件有.php-ext,包含php、html和javascript代码。
我知道这个话题很老,但我在PhpStorm 2020.1中遇到了同样的问题。JetBrains的支持帮助我解决了这个问题。
我的问题是,我使用了打字脚本插件(TYPO3)。文件类型*.ts已添加到typescript文件中,并为typescript删除。
因此,我不得不再次将*.d.ts添加到打字脚本中(我仍然使用*.ts表示打字脚本)。不知怎的,intellij使用*.d.ts文件来完成代码。至少对JS来说是这样。
在那之后,一切都像一个符咒。
- 使用本机JavaScript WebSocket连接到Autobahn的WrappingWebSocketServerF
- 使用本机 Javascript 从 DOM 元素获取选择器字符串
- 如何处理许多jQuery'在'单击本机JavaScript中的事件
- gwt使用本机javascript向远程服务器发送POST请求失败
- 如何使用本机 JavaScript 正确从远程服务器获取 JSON
- 如何取消已使用本机 javascript 发起的 AJAX 请求
- 使用本机 JavaScript Promise 的链异步操作
- 在FF上使用本机Javascript进行样式属性操作
- 如何在MS Edge上使用本机javascript从具有next和previous的页面中搜索文本
- 本机javascript等效于jQuery:contains()选择器
- 使用本机JavaScript模拟按键
- 定义本机JavaScript函数
- 本机JavaScript函数的回调
- 本机Javascript Alert风格的覆盖删除了新行功能
- jquery选择器-如何使用本机JavaScript对document.querySelector('.clas
- 使用本机javascript设置id的速度比使用jQuery更快
- 如何使用本机 JavaScript 承诺执行延迟模式
- 将本机 JavaScript 对象值响应到数组
- 使用本机javascript传递事件侦听器参数
- 包括使用本机JavaScript的外部HTML文件