Releases: Camelcade/Perl5-IDEA
Releases · Camelcade/Perl5-IDEA
2019.1.1
2019.1
Updates
- Code insight
Control flow graph is now computed for your sources, moving plugin to the next level of intelligence. For start:- Unreachable code inspection.
- Exit points highlighting.
- Code navigation
- Grouping usages by the file structure, displaying usage context (sub, package or pod section), #1919.
- Grouping and filtering usages by the read/write access type, including list and hash modifying subs, #1918.
- Breadcrumbs for perl and pod files, including inline POD, by @sewi-cpan (#1875).
- Tests running, by @dimentox (#805) and @tomk3003 (#1935)
Run Configuration
to run tests usingprove
with default IDE tests result UI, (requires Tap::Formatter::Camelcade).- Diff window for a test failure output: got/expected.
- Parallel tests running.
- Debugging tests (parallel running suppressed).
- Runing tests with coverage (parallel running suppressed).
- Debugger
- Debugger is now displays stringified objects representation if
""
operator is overloaded. Additionally, you may specify custom renderer for any package, usingFile | Settings | Build, Execution, Deployment | Debugger | Data Views | Perl5 Type Renderers
settings (requires debugger module 2019.1), by @cdalvaro (#1750). - New option for the remote debugging: automatic reconnection. Allows to re-connect to the process until manually stopped, by @djstauffer (#1369).
- Debugger is now displays stringified objects representation if
- Perl modules support
Readonly
syntax support, by @pJunger (#1415).Log::Log4perl
imports support, by @giddel (#1412).- Support for the
Pod::Weaver
syntax, by @Zaitsev (#1839). - Improved resolve for
File::Spec::Functions
subs. Actual module has tricky exporting, binding OS-specific implementation in runtime. Plugin for now resolves to the Unix implementations from theFile::Spec::Unix
, by @grakkpl (#1393). Bundle::Camelcade
module introduced. Installs all modules that may may be required when working with the perl plugin. Going to be suggested for installation as alternative for particular modules, #1946.
- Automatic injections can now be configured for strings and heredocs using java regular expressions in
File | Settings | Editor | Language Injections
, by @Christoffen (#1878). - Support for the POD in the
__END__
block, #1896. - Support for interpolation in match regex with
(?{...})
and(??{...})
, #1906. - Truthiness inspection with quickfixes to add explicit
defined
or string/numeric equality check, by @RickMeasham (#1715).
Fixes
Run Configuration
editor now looks less chaotic.- Packages list in
Install package
action is now split by spaces, commas and semicolons, allowing to install arbitrary version with cpan, e.g.HURRICUP/Devel-Camelcadedb-v2018.3.0.tar.gz
. - Formatting and enter handling for code in replacement regex with e modifier, #1915
- It's now possible to add perl with non-default
-v
response, by @EdenOaksConsulting (#1879). - Better parsing for Types::Standard things, #1887.
- Better parsing of different try-catch syntaxes.
- Minor parser improvements: #1890, #1891, #1893, #1894, #1895, #1901, #1904, #1905, #1897.
2018.3
Updates
- IMPORTANT: in 2018.3, Perl plugin was split into several plugins. One for each framework or extension. Don't forget to install them if necessary.
fileno
information is now available in the debugger, by @ivanych (requires debugger module 2018.3+)- Markers for automatic injections into here-docs and literals using
#@inject
annotation are now configurable in the Perl settings, by @aldem - Scripts, executed in console is now ran with Pty and supports ANSI colorized output.
- Alternative sdk configuration re-worked and allows to choose one of the registered interpreters (NB: old configurations may break if used alternative paths), #1423
- Missing library notification now have actions to install a missing package with cpan or cpanminus.
perltidy
andperlcritic
scripts are now discovered automatically in the selected interpreter and manual configuration is no longer possible, #1809 & #1810.- IDE listens process output for a missing package warnings and suggests to install them.
plenv
version manager is now supported, by @aptituzberrybrew
version manager is now supported, #1643perlbrew
version manager is now supported, #320- Action to create a library available in
Tools: Perl
section. Available ifperlbrew
is selected as a current interpreter. - Action to install a
cpanm
andpatchperl
usingperlbrew
.
- Action to create a library available in
- Action to install a Perl5 for the version manager is available in
Tools: Perl
section. Available if vm-based perl is selected as current interpreter. - Action to install arbitrary packages using
cpan
orcpanmn
. - Action for installing
App::cpanminus
inTools: Perl
section - Action to refresh current interpreter information. Plugin watches for the filesystem changes and most likely catches external changes to the interpreter (e.g. installing package from console), but not always (and for sure can't do this in the remote case). This action forces IDE to refresh current interpreter data, so all changes should be catched. (NB: this action is more like an emergency thing, so if you often forced to use it, it's probably worth to start an issue in the tracker.)
- Missing package file inspection suggests a quickfix to install a package using
cpan
/cpanminus
, by @yxliang01 WSL
support. Windows users may use not only system perl andberrybrew
, but WSL distributions with version managers in them, #1820 (via separate plugin)Docker
support. You may use a Perl5 from Docker container, by @drmmr763 (via separate plugin)
Fixes
- Sdk selection panel is not wrapped on resize, #1786
Run With Coverage
should work fine with version managers, by @floreal- Typing and removing parens, brackets and braces as quotes for quote-like operators inside normal parens, brackets and braces now works properly, by @aldem
- Better inline POD handling, by @Christoffen
2018.2.1
2018.2
2018.1.2
Updates
- Remote debugging run configuration editor now provides a command line for remote script execution according to selected options.
Fixes
- Sharps added by commenter are now properly indented, #1767
- Fixed indentaion on enter typing when comments are aligned on consequtive lines, #1754
- Scrollbars are now available for every tab on Perl project settings, #1760
- Remote project root now may be just
/
, #1773 - Problem with custom extensions handling for
HTML::Mason
/Mason2
files, #1777
2018.1.1
2017.5.1
Updates
- Assignments alignment now supports a Perl::Tidy mode - alignment on consecutive lines, by @ElMoselYEE
- Comments are now aligned on consecutive lines, configurable
- Loop on hash inspection, #1748
- Loop control keywords inspection with quick-fixes, please, read inspection description, #1747
- Editor notification in case a user or other plugin changed file association, supposed to be a Perl file, #1724
Fixes
- Perl options are now searchable in settings panel, by @RickMeasham
- Perl interpreter manipulation is now available even when IDE indexing files, by @brnrc
- Fixed Perl5 actions names for better search by name and keymap interface, by @ElMoselYEE
2017.5
Updates
-
Formatter
- New formatting options available
- Wrapping and Alignment
- subs and methods signatures
- variable declarations lists
- subs and variables attributes, #1684
- ternary expression
qw
lists- call arguments
- binary expressions, #1680
- assignments
- chained dereference, #1681
- comma-separated lists, #1677
- comments, #1676
- spacing for signatures, attributes and subs prototypes
- Formatting for anon subs, hashes, arrays and lists is much better now, by @aptituz
qw
list is now formatted like a block, meaning quotes being formatted same way as braces, #1678
- New formatting options available
-
Debugger (requires
Devel::Camelcadedb
v2017.100.3+)- You may now inspect IO layers
- You may now see the tied information in variables section
-
Smart keys
- Typing colon after a package automatically inserting a second one and opening completion popup, configurable, #1732
- Typing space after a key inside comma sequence with fat commas now adds a fat comma and re-format the sequence, configurable, #1736
-
Interface
Re-generate XSubs declaration
action removed from Perl5 settings. It's now available inTools -> Perl5
menu and viaRun Action...
(Ctrl+Shift+A)Re-format with Perl::Tidy
andDeparse file...
actions also moved to theTools -> Perl5
menu.
-
Data::Printer
exports should work fine now, #1698 -
cpanfile
is now recognized as a perl file. To make resolve and completion work, you should havecarton
installed, by @Nowaker
Fixes
- Perl interpreters manipulation now has minimalistic UI, should help with buttons unavailability, by @alexqfredrickson
- Missing completion of variables declared in anon sub signature, by @elcamlost
- False variables resolve from statement to anon sub signature, by @elcamlost
- Variables resolve to signatures in anon subs or subs nested in statements, by @elcamlost
- Parsing of hash variable after omitted argument in perl signature, by @elcamlost
- New line won't be inserted before fat comma on wrapping
- Formatter now removes spaces after
\
operator - Moving opening brace to the comment after compound statement beginning, #1578
- Parsing
$1x
as variable name andx
operator, #1667 - Resolve from methods declared with
method
keyword in certain frameworks, #1669 - Additional formatting cases
- False unresolved sub warning in
Exporter
array in case of multiple targets available, #1726 - Dialog rename for accessors now suggests proper name, #1719
- False unresolved namespace warning in
no
statements, #1733
2017.4.1
Updates
- Run with Coverage is now available. Requires
Devel::Cover
module List::MoreUtils
imports should work properly. Plugin supposes PP implementations. #1658Test::More
imports should work properly even with import argument. #1657- Typing the
<
inside bare<>
transforms diamond to here-doc opener. #1660 - Deparsing errors are now more informative. #1650
Fixes