IntelliJ IDEA 2019.2.1

改進了版本控制、使用者介面和代碼分析。
8月 22, 2019
新版本

特性

No subsystem

  • Implement action for Slow Startup Profiling
  • Provide ability to copy a TBX link to a settings
  • soutp live template: take arrays into consideration
  • Redesign several indices to be able use prebuilt values
  • Intention action: wrap collections/map with Collections.unmodifiable* variant
  • API to provide custom labels for diff message in test tool window

Build. Gradle

  • Show tasks colors in Gradle tool window
  • Gradle Groovy syntax cannot resolve symbol 'exclude'
  • GradleDiagrams: Refresh opened Gradle diagram after Gradle project refresh
  • Ability to visualize gradle dependencies similar to viewing maven dependencies

Build. Maven

  • Maven: Update Indices when application starts up/on a regular basis
  • Maven Groovy project not recognized properly

Code Analysis. Duplicates

  • Do not detect duplicates inside ruby test files.
  • Skip initialization methods during duplicates analysis in ruby files.

Code Analysis. Inspection

  • Chained method calls inspection shall ignore methods which return the same type of enclosing class

Code Analysis. Structural Search

  • Search Structurally dialog should have an inline preview
  • Add JavaScript/TypeScript existing templates
  • Add type filters for JS structural search

Core. IDE Settings

  • Provide a way to disable proxy detection logic on early startup
  • Copy settings back to IDE after disable sync plugin
  • Cannot remap cursor keys for navigation outside the editor (popups, etc.)

Core. Platform API

  • Allow IDEs to customize which builds can be used as possible updates
  • Allow plugins to contribute additional details into description template used by 'Submit a bug report' action
  • ExecUtil.sudoCommand could show a prompt on macOS 10.10+
  • Please allow the UndoRedoAction to use the JB UndoManager for a JTextComponent
  • Provide an annotation which may be used to mark public elements which must not be used from external plugins
  • Allow using color palette in themes

Core. Plugin Management

  • Possibility to mark a plugin as internal

Core. Profiler

  • Add support for Java Flight Recorder (JFR)
  • To attach JFR to already started local process
  • Profiler: Set, or suggest to set max stack trace depth for Flight Recorder

Core. Quick Documentation

  • Better quick JavaDoc for enums

Core. Refactorings

  • Scope Setting for Rename Refactoring

Editor. Code Completion

  • Can I make the live template appear at the top of the code completion list?

Editor. Color Schemes

  • Ability to drag-n-Drop editor color scheme

Editor. Diff and Merge

  • IDEA as external diff/merge - provide proper exit codes
  • Show changes per-changelist in Unified View

Editor. Editing Text

  • Java Smart Complete Statement: Complete ternary operator if necessary
  • No horizontal scroll in editor when the width of block inlay is more than editor width
  • Jump outside closing bracket with Tab should jump after the semicolon

Frameworks. Spring

  • Spring Boot Web App: provide automatic mapping of web resource roots
  • Recognize MethodInvokingFactoryBean when resolving bean type
  • Spring + Kotlin: Select In... | Spring Beans doesn't work for kotlin classes
  • Spring MVC and Kotlin: provide intentions to create the missing @PathVariable-annotated parameters

Groovy

  • Add "Access to unresolved expression" to the analyze process
  • Bold braces for closure and lambda expressions
  • Support Java lambda syntax
  • Support nested code blocks

Infrastructure. Packaging and Installation

  • Publish 'intellij.platform.testFramework' module as a Maven artifact
  • Extract Java support to a separate plugin in IntelliJ IDEA
  • Publish modules required to build IntelliJ IDEA from sources as Maven artifacts
  • Include com.intellij.testFramework.vcs into some binary distribution

Java

  • Show Expression Type should also show known boolean values, strings etc
  • Support JEP 355 "Text Blocks"
  • Java 13 Preview: switch expressions

Java. Debugger

  • Debug mode / Mouse gesture "Run to mouse pointer"
  • Show value renderer icon right on evaluating popup

Java. Error Highlighting

  • "Extension methods are only allowed in interfaces" error should have quickfix to remove "default" keyword

Java. Inspections

  • Suggest replacing Charset.forName("UTF-8") with StandardCharsets.UTF_8
  • Transform Stream.iterate(seed, next).takeWhile(predicate) to Stream.iterate(seed, predicate, next)
  • Provide "surround with instanceof" fix for possible class cast warning
  • Dataflow warning explanation
  • Support more AssertJ matchers in hardcoded contracts
  • ReturnOfNull java inspection should have an option to ignore lambdas
  • Suggest using StandardCharsets.XYZ instead of "XYZ" where possible
  • Convert to enhanced switch: an option to omit warning if we cannot generate switch expression
  • Inspection to detect when collection is accidentally passed as vararg and will be wrapped into one-element array
  • Inspection to replace Map.keySet().contains(K) with Map.containsKey(K)
  • Reflective access to nonexistent/not visible class member inspection: add a quick-fix
  • Inspection to use Math::min / Math::max instead of handwritten code where possible
  • Inspection to detect probably missing break-statement
  • `java.util.function.Function` should be added to 'Result of method call ignored' inspection
  • Simplify Optional chains
  • Support bitwise xor in Java DFA
  • Extend the "iteration over 'keySet()' may be replaced with 'entrySet()' iteration" inspection to recognize put() calls
  • Manual array population should be detected and replaced with Arrays.fill
  • Do not warn on cast to compatible interface when it has a matching instanceof check
  • Loop statement that does not loop: allow to ignore for-each loops
  • Inspection request: integer fraction multiplication i *= 3/2

Java. Intention Actions

  • Flip method call on call without qualifier
  • Suggestion: Add quick fix to merge two annotations which are not marked as repeatable
  • Merge convert to decimal/octal/hex/binary to submenu
  • IDEA should know to open brackets in java code
  • Intention to replace singleton collection with a normal one
  • Action to transform method with multiple returns into the method with single exit point

Java. Refactorings

  • Inline method: support negation at the call site
  • "Inline" Foo.class.getName(), Foo.class.isInstance(bar)
  • Inline MyEnum.valueOf and ENUM_CONSTANT.name()
  • "Inline Method refactoring is not supported when return statement interrupts the execution flow" is wrong
  • Automatically fix "Not a statement" problem in inline method
  • Inline method with returns should work when inlining point is the only expression in a loop or lambda body
  • Support Inline Method refactoring when return statement interrupts the execution flow
  • Inline method: process some boolean methods with multiple exits specially

Java. Tests. JUnit

  • Ship 'junit-jupiter-params.jar' with IDEA

JavaX. AppServers. JBoss

  • WildFly: Allow to configure connection timeout to management API

JavaX. AppServers. Tomcat

  • Tomcat: Option to select application context when deploying artifacts

Plugin Development (DevKit)

  • Devkit: <depends> checking
  • Highlight services/components with identical interface and implementation classes as redundant in plugin.xml
  • Show warning for <group> elements with class specified and ID not specified
  • Code insight for Registry keys defined via EP com.intellij.registryKey
  • Devkit: resolve "keymap" in plugin.xml
  • Devkit EP declaration: suggest to change declaration via 'qualifiedName' to 'name' in main plugin.xml
  • plugin.xml: highlight duplicate <depends>
  • IDEA UI Guidelines: "Action" text capitalization
  • DevKit: Component/Action not registered - skip for deprecated classes
  • IDEA UI Guidelines: verify capitalization for EP properties annotated with @Nls in plugin.xml

Plugin. Markdown

  • Markdown HTML

Plugin. OSGi

  • Osmorc: Upgrade Bndlib to 4.2 or later

Plugin. Shell Script

  • [Shell script] add Run Debug configuration support

Plugin. Terminal

  • Terminal: Add support for hyperlinks

Services. Clouds. CloudBees

  • Drop CloudBees support

Services. Docker

  • Docker. Support --ipc command line option

Services. Kubernetes

  • Helm: Provide possibility to disable values substitution in kubernetes helm templates
  • Helm: Validate requirements.yaml fields

User Interface

  • Please add uidesigner color constants to themes

User Interface. Controls

  • Find and Find-in-path to select word under the caret automatically.

User Interface. Find, Replace, Usages

  • Recently Edited and Recently Viewed scopes in Scope Chooser

User Interface. Look and Feel

  • Theme metadata: new property "since"
  • Theming: update metadata for 2019.2 keys

User Interface. Navigation

  • Feature request: recent files dialog should use up/down/left/right key mappings

User Interface. Project View

  • Project pane: Open Files
  • Allow to use additional keymaps for up/down in project window

Version Control

  • File sorting in Version Control: Local Changes differs from sorting in project view
  • Show git file history for multiple directories in project view
  • Add VCS status and scope information to file quick documentation

Version Control. Git

  • Support interactive prompts from all Git commands
  • Show notification explaining the reason of Rejected force push
  • Git: provide possibility to abort merge process
  • Gitignore right click
  • Rework the Compare Branches dialog to use a Log tab with proper filters
  • Update/Pull/Merge Info should list new commits (the newly received part of the log) instead of the files

Version Control. Log

  • Log: add action to go-to-parent and go-to-child
  • Add log filter like 'git log master..branch'

Web. Flash and Flex

  • AIR SDK 33 Android 64-bit arch
  • Feature Request: Run/Debug AIR Mobile config for iOS Simulator allow configuring Simulator device

No subsystem

  • Redesign new Vue project wizard to support npx and displaying progress in terminal
  • SQL injected in JS string should use user parameter as placeholder
  • Incorporate NodeJS and Live Edit Tools to the default IDEA installation
  • Support inline inferred type hints for Javascript and TypeScript
  • Run Anything for JavaScript tools
  • Add 'insert await' quick fix for type assignability errors of 'Promise<T> vs T' and for property access on `Promise<T>` for a property that exists in T
  • React auto import ignore "allowSyntheticDefaultImports"
  • Support path aliases defined in jsconfig.json
  • JS. Console live templates
  • ES6: completion for default import bindings according to the exported name
  • Console DOM elements presentation
  • Install LTS Node.js from new project dialog
  • TypeScript 3.4: support improved type inference for unions/intersections
  • TypeScript: no override/implement completion for fields
  • Add "Range" http header for video.
  • Method chain type hints for JS/TS

Build tools

  • Use interactive console for npm scripts run tool window

CSS

  • Emmet for CSS: improve how vendor prefixes are applied
  • Stylelint: allow linting CSS/PostCSS files with custom extensions
  • Support postcss-simple-vars
  • Instant image preview of encoded SVG data
  • CSS Media Queries Level 5 support

Dart

  • Show package info in Dart code completion.
  • Please implement Context Info (Alt+Q) feature for Dart.
  • Support AngularDart
  • Include non-imported Dart classes in code completion list and auto-insert import
  • Dart folding- add ability to fold multi-line asserts statements

Debugger

  • Javascript Debug: Rerun to current URL
  • JavaFx availability check before webconsole usage

HTML

  • Small tag should be listed as an inline element by default

JSON

  • Specify language injection in a json-schema file
  • Add nodemon to package.json schema
  • Add lint-staged to package.json schema
  • Add renovate to package.json schema
  • Add husky to package.json schema
  • JSON schema in yaml notation
  • Support JSON-schema based code completion for all linters/tools we support for yaml/plain js formats

JavaScript

  • Properties added with Object.assign() and Object.defineProperties() are not understood
  • JS/TS: add postfix template to surround expression with call
  • Support Unicode property escapes
  • Autocomplete of export default
  • JavaScript: additional completion for "length" and "size" methods
  • Add a quick fix to fix spelling for an unresolved reference if qualifier type has property with similar name
  • Add 'String usage' type to 'find usages'
  • Add styling option for keys in ES6 destructuring assigment
  • 'Propagate to destructuring declaration' intention
  • Javascript quick doc: add syntax highlighting in the definition section
  • Support Object.fromEntries()
  • Suggest class method parameters when ES6 class is extended
  • Missing color for the name of a function expression
  • Inspection and quick-fix to merge trivial nested template literals
  • Support destructuring declarations in Vue.js and allow 'Propagate to destructuring' to propagate there and 'Rename' to rename properly
  • Duplicates Inspection: disable search between Javascript and TypeScript files
  • Show available method signatures in the Go to definition popup
  • Call hierarchy action doesn't work where function literal is passed as argument
  • Add code completion for webpack config that returns promise
  • Provide fixes to create object literal properties from unresolved usage
  • Parameter info and parameter hints for tagged templates
  • Support ES2019 decorators proposal

JavaScript. Formatter

  • Prettier: allow importing code style rules from .prettierrc.js/ .prettierrc.toml file
  • Feature: Code Style: JS: space before and after unary negate operator

JavaScript. Frameworks

  • Allow a way to override package.json check for Angular 2+
  • Option to not self-close JSX tags when autocompleting
  • Vue: support details of components defined with @Component syntax
  • Add support for ngNonBindable directive
  • Unresolved symbol ReactComponent when importing svg in React
  • Parameter Hints in Angular Component Template
  • Angular 8: support new recommended way of importing Angular Material components
  • Generate debug configuration for @angular/cli
  • Warn against usage of private fields in Angular Templates
  • Vue.js: provide code completion for events that could be emitted by Vue components defined in project dependencies
  • create-react-app: option to generate project with TypeScript
  • HTML attributes and tags used as slot name for transclusion reported as illegal
  • Angular @Attribute decorator not recognized
  • Vue.js: support source resolution for web-types
  • Angular, Native Script: provide extension to contribute to template context
  • Vue.js: support web-types linked from the project's own package.json
  • Editor not detecting invalid Vue.js syntax for error, "v-bind expression cannot be empty"

JavaScript. Inspections

  • TypeScript / JavaScript: better simplify action
  • TypeScript / JavaScript: better simplify action. If, While, DoWhile
  • Inspection and quick-fix to merge variables assigned to same destructuring patterns
  • Unused variables & parameters beginning with _ should be ignored
  • Add an inspection to show duplicated import statements
  • Feature     WEB-2385     Detect accidental =+ instead of += on string variable
  • TypeScript / JavaScript: better simplify action for null/undefined
  • "Add 'then' clause" as a QuickFix for "Promise returned from ... is ignored"
  • JavaScript: support if (undefined/null) conditions
  • Add intention to convert independent `await` calls to `await Promise.all([])`
  • TypeScript / JavaScript: better simplify action for typeof/instanceof
  • TypeScript / JavaScript: better simplify action for equality operators

JavaScript. Refactoring

  • Typescript, also allow to move Symbols between .ts and .tsx files
  • 'Introduce variable' for destructuring patterns in variable declarations
  • Inline JS variable with template literals should avoid producing nested template literals
  • 'Inline' should handle functions with destructuring parameters
  • Inspection for redundant 'return await' and 'await await' + corresponding cleanup for convert-to-async
  • 'Introduce variable' can introduce spread elements when selection is over multiple array elements/properties
  • Intention action to convert destructuring back to properly accesses when possible
  • Inspection and cleanup for redundant await/return Promise.resolve() and Promise.reject()
  • Postfix templates for destructuring

JavaScript. Templates

  • Mustache Plugin: Add Support for Inerhitance

LESS

  • Support align values code style setting
  • Support for LESS Maps

Linters

  • Stylelint support should allow inspection of JS files
  • Enable support for a different tslint configuration for *.spec.ts files

Node.js

  • Navigation and resolve for npm script names
  • Feature Request: Semver tooltip hinting
  • Add `ci` to the list of commands in NPM run configuration
  • Basic Node JS template
  • Docker compose: support Debug mode when "JavaScript file" field is empty
  • Node Interpreter on WSL (Arch Linux): No distribution available
  • per-project nvm support via nvmrc

SASS

  • baseUrl in tsconfig.json is ignored when resolving Sass imports via ~file.scss
  • SCSS align $variable on colon as in CSS

TypeScript

  • Enable duplicate declaration inspection in TypeScript files
  • [request] should show error when can't found file form tsconfig extends
  • Parameter hints / parameter info / documentation support for rest-tuples with --strictBindCallApply
  • Enable duplicate declaration inspection in TypeScript files for classes/enums
  • Support TypeScript 3.4 non-widening literal contexts ('as const')
  • Add new intention to wrap the return type of async method to a global Promise type
  • Syntax highlighting in the quick navigate tooltip
  • Typescript - Support for actions on literals in discriminated unions
  • Enable esnext private-#-field syntax for TypeScript
  • Update bundled TypeScript to 3.5
  • Intention action to add explicit enum values for TypeScript enums
  • Update bundled TypeScript to 3.3
  • Update bundled TypeScript to 3.4
  • Enable duplicate declaration inspection in TypeScript files for TS properties
  • TypeScript / JavaScript: allow relative imports for files under path mappings
  • Introduce smartcast highlighting similar to that we have in Kotlin

Unit Tests

  • Support navigating to the test files without .test. or .spec. in the name located in the test folder next to the feature
  • cucumber-js defineSupportCode is deprecated in generated code
  • Jest: improve "todo" test support when using jest-circus as test runner
  • Support running Mocha tests with Vue CLI
  • Detect test runner if it's installed but not listed directly in package.json
  • Use arrow function when generating Jasmine suite/spec with ES6 language level
  • cucumber.js support only sees steps written as regular expressions

DB Connectivity

  • Possibility to configure icons for custom data sources
  • Make it possible to run initialization scripts
  • Store password for work session
  • KeepAlive setting in data source properties
  • Database: "Automatically disconnect after XX minutes" Property

DB Console

  • Naming on database console result tabs

DB General

  • Please add an indication for foreign key with ON DELETE or ON UPDATE actions

DB Introspection

  • Improve support for partitioned tables

DB Schema Views

  • Show table/column comments in database tool window (tree) for all elements at once
  • Show database column default value in database tool window

Data Import & Export

  • [Feature Request] Download query output as markdown table

Data Views

  • Full text search in database
  • Easily change number of result rows
  • Preview BLOB content in table documentation
  • Easily show all rows of the result ignoring page-size setting
  • Show SQLite ROWID field in Table Editor

Navigation & Search

  • Filtering in Go-to-table navigation
  • Option to restrict Navigate to Table/Routine/Class to connected Data Sources
  • Within the "Recent files" popup, Ctrl-Q/Ctrl-Shift-I on table views should popup the definition, same as in the database view.
  • Introduce All Data Sources and per-Data Source search scopes

SQL Completion

  • suggest join conditions based on column / table name matching
  • IS NULL and IS NOT NULL as combined completion items

SQL Format and Style

  • SQL code style "Comma Inside Indent"

SQL General

  • Mysql function LATERAL is regarded to as unknown

SQL Generation

  • Db2: support xml index specification generation
  • Db2: support index key expression generation

SQL Highlighting

  • Inline parameter hint provider
  • Inspection for inserted/deleted in MS SQL trigger
  • Add inspection for using LIMIT (or similar clause) inside EXISTS call
  • False positive for temporary table column reference in "json_populate_recordset"
  • Missing support for UPDATE mutation syntax in ClickHouse
  • PL/SQL Inspection to Report Use of GOTO statements
  • Datagrip literals auto-injection
  • Intention: Convert multiple equal with OR to IN and vice versa
  • PostgreSQL: expressions at having not from group by or aggregate functions are green
  • PL/SQL inspection to enforce named parameters when calling procedures/functions
  • Highlight values in insert statement with select clause
  • PostgreSQL: aggregate functions not at select result list or having clause are green
  • Folding long numbers
  • Inspection: Check for TOP/OFFSET
  • SQL Inspection: group by and aggregate functions — bad code is green
  • Missing support for IP types in ClickHouse
  • Column name hints in INSERT
  • Inspection for ISNULL builtin function

SQL Refactoring

  • Suggest to refactor several INSERTs into one INSERT
  • Intention to replace GROUP BY with DISTINCT and vice versa

SQL Resolve

  • ClickHouse Kafka engine unknown
IntelliJ IDEA

IntelliJ IDEA

Java 綜合開發環境。

有任何疑問嗎?

Live Chat現在與我們的JetBrains 專家即時聊天詢問。