com.intellij.openapi.vcs.CodeSmellDetector Java Examples
The following examples show how to use
com.intellij.openapi.vcs.CodeSmellDetector.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: EmbeditorRequestHandler.java From neovim-intellij-complete with MIT License | 6 votes |
public CodeSmellInfo[] inspectCode(final String path, String fileContent) { final CodeSmellInfo[][] resultsWrapper = new CodeSmellInfo[1][]; UIUtil.invokeAndWaitIfNeeded(new Runnable() { @Override public void run() { final PsiFile targetPsiFile = EmbeditorUtil.findTargetFile(path); Project project = targetPsiFile.getProject(); if (targetPsiFile != null) { List<VirtualFile> virtualFiles = new ArrayList<VirtualFile>(); virtualFiles.add(EmbeditorUtil.createDummyVirtualFile(project, fileContent, targetPsiFile)); List<CodeSmellInfo> problems = CodeSmellDetector.getInstance(project).findCodeSmells(virtualFiles); resultsWrapper[0] = problems.toArray(new CodeSmellInfo[problems.size()]); } } }); return resultsWrapper[0]; }
Example #2
Source File: CodeAnalysisBeforeCheckinHandler.java From consulo with Apache License 2.0 | 6 votes |
private ReturnResult processFoundCodeSmells(final List<CodeSmellInfo> codeSmells, @Nullable CommitExecutor executor) { int errorCount = collectErrors(codeSmells); int warningCount = codeSmells.size() - errorCount; String commitButtonText = executor != null ? executor.getActionText() : myCheckinPanel.getCommitActionName(); if (commitButtonText.endsWith("...")) { commitButtonText = commitButtonText.substring(0, commitButtonText.length()-3); } final int answer = Messages.showYesNoCancelDialog(myProject, VcsBundle.message("before.commit.files.contain.code.smells.edit.them.confirm.text", errorCount, warningCount), VcsBundle.message("code.smells.error.messages.tab.name"), VcsBundle.message("code.smells.review.button"), commitButtonText, CommonBundle.getCancelButtonText(), UIUtil.getWarningIcon()); if (answer == 0) { CodeSmellDetector.getInstance(myProject).showCodeSmellErrors(codeSmells); return ReturnResult.CLOSE_WINDOW; } else if (answer == 2 || answer == -1) { return ReturnResult.CANCEL; } else { return ReturnResult.COMMIT; } }
Example #3
Source File: ContentResourceChangeListener.java From aem-ide-tooling-4-intellij with Apache License 2.0 | 4 votes |
private void executeMakeInUIThread(final VirtualFileEvent event) { if(project.isInitialized() && !project.isDisposed() && project.isOpen()) { final CompilerManager compilerManager = CompilerManager.getInstance(project); if(!compilerManager.isCompilationActive() && !compilerManager.isExcludedFromCompilation(event.getFile()) // && ) { // Check first if there are no errors in the code CodeSmellDetector codeSmellDetector = CodeSmellDetector.getInstance(project); boolean isOk = true; if(codeSmellDetector != null) { List<CodeSmellInfo> codeSmellInfoList = codeSmellDetector.findCodeSmells(Arrays.asList(event.getFile())); for(CodeSmellInfo codeSmellInfo: codeSmellInfoList) { if(codeSmellInfo.getSeverity() == HighlightSeverity.ERROR) { isOk = false; break; } } } if(isOk) { // Changed file found in module. Make it. final ToolWindow tw = ToolWindowManager.getInstance(project).getToolWindow(ToolWindowId.MESSAGES_WINDOW); final boolean isShown = tw != null && tw.isVisible(); compilerManager.compile( new VirtualFile[]{event.getFile()}, new CompileStatusNotification() { @Override public void finished(boolean b, int i, int i1, CompileContext compileContext) { if (tw != null && tw.isVisible()) { // Close / Hide the Build Message Window after we did the build if it wasn't shown if(!isShown) { tw.hide(null); } } } } ); } else { MessageManager messageManager = ComponentProvider.getComponent(project, MessageManager.class); if(messageManager != null) { messageManager.sendErrorNotification( "server.update.file.change.with.error", event.getFile() ); } } } } }