Protobuf Support for JetBrains IDEs
This release contains multiple fixes:
All resolved issues: https://github.com/protostuff/protobuf-jetbrains-plugin/milestone/17?closed=1
This release contains multiple improvements:
This release contains multiple fixes and improvements:
#104: Bundle full protobuf sources archive with plugin. Fixes #86. Following imports now will be resolved automatically:
google/protobuf/empty.proto
google/protobuf/api.proto
google/protobuf/wrappers.proto
google/protobuf/descriptor.proto
google/protobuf/timestamp.proto
google/protobuf/type.proto
google/protobuf/source_context.proto
google/protobuf/struct.proto
google/protobuf/duration.proto
google/protobuf/field_mask.proto
google/protobuf/any.proto
google/protobuf/compiler/plugin.proto
#75: Fix NullPointerException on reset plugin settings without open project.
#76: Fix resolving references to types defined inside of extend block.
#100: Add support for php_namespace
option.
#90: Add support for json_name
option.
#105, #98, #84, #87, #83, #97: Improve imports resolution. Plugin tries to resolve imports relative to source file's location using following rules:
Max nesting level is 10.
#96: Add support for reserved
keyword inside of enums.
#109: Fixed errors reporting in 2018.2 IDEs.
Change IDE compatibility to 2018.2 and higher versions.
This release contains multiple fixes:
#67, #73: Fix NullPointerException on opening plugin settings without open project. #71: Do not highlight extend block for custom options in proto3 as error. #69: Fix rare ClassCastException when running "go to class action". #72: Fix resolving references to types defined inside of oneof + group blocks. #43: Fix build failures on some environments.
This release contains multiple important fixes:
#66: Improved imports resolving strategy: in addition to resolving imports using source roots, plugin also tries to resolve import relatively to proto file's location. #63: Fix plugin error when message has syntax errors (IncorrectOperationException: Could not detect qualified name in given context: com.intellij.psi.impl.source.tree.PsiErrorElementImpl). #62: Fix plugin error when message is defined inside of group block (IncorrectOperationException: Could not detect qualified name in given context: io.protostuff.jetbrains.plugin.psi.GroupNode).
#45: Highlight unresolved reference errors. #52: Make messages/enums and other blocks collapsible. #58: Improve error reporting (simplify sending bug reports).
#46: Add support for rename refactoring (files, messages, enums, fields). #44: Add support for usage search for standard and custom options. #53: Add support for oneof options (latest release of Protocol Buffers (3.3) does not provide standard options, however custom options can be used there). #49: Improve error message for field label inside of oneof block.
#41: Support for proto file renames - import statements are automatically updated when imported file is renamed.
#39: Add proto2/proto3 syntax validation - check field labels (in proto2 labels are mandatory; in proto3 optional
and required
labels are forbidden), enum values (first value must be zero), check for elements removed in proto3 - extensions and groups.
#37: Resolve option references - navigate to message field which corresponds to an option key.
#36: Improved icon for proto files.
#30: Fix imports resolving in WebStorm 2017.1, when source directory is marked as "Resource Root".
#42: Fix error that is reported by IDE when proto files are importing each other in a loop (or when proto file imports itself).
Also, this release has better support for unicode. Now you can use Emoji!
#26: Add navigation to message, enum or service by name (Ctrl+N) #25: Fix syntax error highlighting for missing tokens
Add support for older IDE versions: IntelliJ IDEA 13, PhpStorm 7, PyCharm 3.1, WebStorm 7, RubyMine 7, Android Studio 1.3, AppCode 3.3, CLion 1.2, DataGrip 1.0
This build is compatible with IntelliJ IDEA 13 - 15 (and compatible products). For newer releases, please use version 0.5.0.
Following releases should be compatible with all range of supported products.