stack-2.15.3: doc/ide_command.md
<div class="hidden-warning"><a href="https://docs.haskellstack.org/"><img src="https://cdn.jsdelivr.net/gh/commercialhaskell/stack/doc/img/hidden-warning.svg"></a></div>
# The `stack ide` commands
~~~text
stack ide COMMAND
Available commands:
packages List all available local loadable packages
targets List all available Stack targets
~~~
The `stack ide` commands provide information that may be of use in an
integrated development environment (IDE). See `stack ide` for the available
commands.
## The `stack ide packages` command
~~~text
stack ide packages [--stdout] [--cabal-files]
~~~
`stack ide packages` lists all available project packages that are loadable.
By default:
* its output is sent to the standard error stream. Pass the flag `--stdout` to
change to the standard output stream; and
* the output is the package name (without its version). Pass the flag
`--cabal-files` to change to the full path to the package's Cabal file.
## The `stack ide targets` command
~~~text
stack ide targets [--exes] [--tests] [--benchmarks] [--stdout]
~~~
`stack ide targets` lists all available Stack targets. Alternatively, pass one
or more of the flags `--exes`, `--tests` and `--benchmarks` to list only targets
of those component types.
By default, its output is sent to the standard error stream. Pass the flag
`--stdout` to change to the standard output stream.
For example, for the Stack project itself, command:
~~~text
cd stack
stack ide targets
~~~
and the output from the second command is:
~~~text
stack:lib
stack:exe:stack
stack:exe:stack-integration-test
stack:test:stack-unit-test
~~~
or command:
~~~text
stack ide targets --exes
~~~
and the output is:
~~~text
stack:exe:stack
stack:exe:stack-integration-test
~~~