Shortcuts are really useful and make you gain productivity, here are those I use or force me to use:

Eclipse:

Inside file operations

Move line(s) Alt + (Up || Down)
Duplicate line(s) Ctrl + Alt + (Up || Down)
Move inside a file without moving cursor Ctrl + (Up || Down),
then Up || Down to go back to cursor position.
Quickly move cursor inline Ctrl + (Left || Right)
Move cursor to line begin or end End / Begin
Text selection Shift + ( Up || Down || Left || Right )
Quick text selection Ctrl + Shift + (Left || Right)
Comment/Uncomment line(s) Ctrl + Shift + C

Switching files operations

Search inside a file Ctrl + F,
then Enter to switch,
then Echap to edit last selected one.
Search inside a project/folder Click on project/folder inside Eclipse explorer,
then Ctrl + H,
then Ctrl + (. || ,) to switch.
Open a file from opened projects Ctrl + Shift + R,
then type file you want or things like ‘AbstractListing*.js’,
then Up || Down,
then Enter.
Go to prev/next opened file Ctrl + (Page Up || Page Down)

Firefox / Chrome:

Open new tab Ctrl + T
Close current tab (Mouse middle click too) Ctrl + W
Reopen last closed tab Ctrl + Shift + T
Go to prev/next tab Ctrl + (Page Up || Page Down)
Go to specific tab Ctrl + (1 || 2 || 3…. || 8)
Go to last tab Ctrl + 9
Go inside url field F6
Modify zoom Ctrl + (+ || - || 0 (reset))
Reload, reload without cache F5 / Ctrl + F5
Open developer tools F12

Sometimes you want to know in live, how many Doctrine queries, memory usage, or others things while testing your Get REST api, here is a simple way to have your profiler.

The condition to have the profiler added is to output HTML, so we output HTML.

Code

parameters:
    routes_to_convert_html: ["api_datasource_get_source", "api_datasource_get_customer", "api_datasource_get_history"]
	
services:
    dtm.datasource.listener.kernel.convert_html:
        class: CTM\DatasourceBundle\Listener\ConvertToHtmlResponseListener
        arguments: ['%routes_to_convert_html%']
        tags:
            - { name: kernel.event_listener, event: kernel.response }
<?php
namespace CTM\DatasourceBundle\Listener;

use Symfony\Component\HttpKernel\Event\FilterResponseEvent;

class ConvertToHtmlResponseListener {
    protected $routes;

    public function __construct(Array $routes)
    {
        $this->routes = $routes;
    }
    
	public function onKernelResponse(FilterResponseEvent $event) {
		
		if (!$event->isMasterRequest()) {
			return;
		}
		
		$request = $event->getRequest();
		
		if (!in_array($request->attributes->get('_route'), $this->routes)) {
			return;
		}
		
		if (!$request->headers->has('Accept') || (false === strpos($request->headers->get('Accept'), 'text/html'))) {
			return;
		}

		$response = $event->getResponse();
		switch ($request->getRequestFormat()) {
			case 'json':
				$prettyprint_lang = 'js';
				$content = json_encode(json_decode($response->getContent()), JSON_PRETTY_PRINT);
				break;

			case 'xml':
				$prettyprint_lang = 'xml';
				$content = $response->getContent();
				break;

			default:
				return;
		}

		$response->setContent(
			'<html><body>' .
				'<pre class="prettyprint lang-' . $prettyprint_lang . '">' .
					htmlspecialchars($content) .
				'</pre>' .
				'<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js"></script>' .
			'</body></html>'
		);
		
		$response->headers->set('Content-Type', 'text/html; charset=UTF-8');
		$request->setRequestFormat('html');
		$event->setResponse($response);
	}
}

Solution found here: Paul Ferrett - Stack Overflow

To check your POST PUT DELETE requests, use Chrome Postman extension (a must-have tool), and then use the symfony2 Profiler history by clicking on “View last 10” button.