How to see a function's parameters while you type
You can do this with Note My — here is how to get the signature shown above the caret while you are still typing the call, without leaving the file to go and look it up.
You have typed the function name and the opening bracket, and now you are guessing. Is the separator argument second or third? Does it take a count before the string or after? Switching to a browser to check costs a minute and your place in the thought.
Note My answers that with a call tip. It is a small panel that appears while you are writing a call, showing the function's signature with the argument you are currently on picked out. This guide covers when one appears on its own, how to ask for one, which functions you get a signature for, and how well it keeps up in a file of any size.
No signature is fetched from anywhere. It all happens on your Mac: Note My uploads nothing, asks you for no account, and your files never leave the machine. Call tips work the same on a plane as on a desk.
What a call tip is, and when it appears
Ordinary typing brings one up: start writing a call and the signature for the function you are calling appears above the caret. Accepting a function-shaped suggestion from the completion list gets you there in one move instead — it inserts the brackets and parks the caret between them, which is exactly the position a call tip describes.
The tip tracks the caret. Move between arguments and the emphasis moves with you; leave the call and the panel goes. There is no mode to enter and nothing to dismiss.
Force a call tip with a keystroke
-
Put the caret inside the call
Anywhere between the brackets will do — before the first argument, after a comma, or in the middle of an argument you are still writing. It does not matter which argument you have reached, and you do not have to click back to the start of the call first.
-
Press ⌃⇧Space
That is Edit ▸ Show Call Tip. It is the deliberate version of the same panel: use it when the tip has gone because you clicked away, or when you want the signature for a call you wrote earlier and are now editing.
Do not confuse it with ⌃Space, which is Edit ▸ Auto-Complete and opens the suggestion list instead. They are neighbours on the keyboard because they are neighbours in the job.
-
Read the highlighted argument, not the whole line
The panel shows the entire signature, but the parameter you are currently supplying is the one emphasised. That is the part worth reading. Type the argument, type a comma, and the emphasis steps along.
Which functions get a signature
Two kinds of function have call tips, and between them they cover most of what you type in a working day.
The functions the language gives you. Note My knows the standard library of each language it writes call tips for — the parameters each function takes, in order, with a line of documentation. So a call to a built-in function shows a full signature in a file you created a minute ago, one that belongs to no project and that you have set nothing up for.
The functions you wrote yourself. A helper you defined forty lines further up will show you its parameters too, in nine of the supported languages, as long as it is declared in the file you have open. This is the part that pays off in a long single-file script: you stop scrolling up to remind yourself of the argument order in your own code.
Every signature you read is a real one, taken from the language itself or from the declaration sitting in your own document. Nothing is invented to fill a gap, so the panel is safe to act on: type the argument it points at, carry on, and trust that what you were shown is what the code actually says.
The document in front of you is all it takes. Keep a helper's declaration in the file you are working in and its parameters travel with you down the page, however far the call ends up from the definition.
Where the highlight lands in a nested call
Not every comma in a call separates two arguments, and the first real call anyone writes proves it. A comma inside a generic parameter list, a default value, a nested call or a quoted string belongs to the argument it sits in, not between arguments.
None of those commas move the emphasis. Write a call whose second argument is itself a call with three arguments of its own, and the tip still says you are on argument two. The highlight stays where you are actually typing.
Completion agrees with the tip on this. When you accept a suggestion that fills the call in for you, the placeholders land in the same positions the tip points at, so the two features never contradict each other about which argument is which.
The languages call tips cover
Call tips work in twelve of the fifteen code languages Note My supports — every language written with a parenthesised call for the panel to describe. The behaviour is the same in all twelve: the same shortcut, the same panel above the caret, the same argument picked out as you move along. Switch between a script in one language and a source file in another and you do not have to learn the feature twice.
Markup, stylesheets and shell scripts are written differently — attributes, declarations and flags rather than an argument list — and there the suggestion list is what you reach for. It carries on offering words that already appear in your document, so the typing help follows you into every file you open, whatever it holds.
From a signature to a filled-in call
A call tip tells you the parameters. The completion list can type them for you. Accepting a suggestion that fills the call in for you inserts it with the first argument already selected, so typing replaces it, and ⇥ moves to the next placeholder and selects that one. The placeholders match the signature the call tip shows, argument for argument.
Filled-in calls come from the language's own catalogue of functions, so what lands in your document is the call the tip was describing a moment earlier. Completion is careful over code you have already written, too: complete over an existing print(args) and it stays print(args), with no stray second bracket to tidy up afterwards. That is the useful pairing — the tip tells you the shape of the call, the list types it, and neither of them touches anything you did not ask them to.
Turning call tips off without losing suggestions
Call tips sit behind two switches in Settings ▸ Code Suggestions (⌘,): the master code-suggestions switch, and a separate one for call tips. Turn off the call-tip switch and the suggestion list carries on working exactly as before — you simply stop getting the signature panel. Turn off the master switch and both go.
The search field at the top of the Settings sidebar finds any switch by name, so type call tip there and go straight to it rather than opening pane after pane.
Working in a very large file
Call tips earn their keep in exactly the files that are hardest to read by eye: a generated source file, a long export with code in it, a script that grew over years and never got split up. Our large-file engine keeps documents that size open, scrolling and comfortable to type in, and the signature panel comes with you into them. A call to one of the language's own functions shows its signature above the caret while you are still writing it, in a multi-megabyte file as in a short script, and ⌃⇧Space brings the panel up whenever you want it.
This is also where a signature for one of your own helpers saves you the most. In a file thousands of lines long, scrolling up to re-read your own function's declaration costs you your place. The tip brings it to the caret instead, so you stay in the call you are writing, and your keystrokes go into the document throughout.
- The same keystroke, whatever the file weighs. You can reach for ⌃⇧Space in a very large document as freely as in a short one.
- Wrapped calls are covered. An argument list laid out over several lines still gets its signature, with the emphasis on whichever argument your caret has reached.
- An old call is as easy as a new one. Put the caret back inside something you wrote last week, press the same keys, and the signature comes up so you can check an argument before you change it.
Size makes no difference to privacy. A large proprietary source file stays on your Mac; nothing is uploaded to produce a signature.
Troubleshooting
Getting the panel to appear in every file
Check the two switches in Settings ▸ Code Suggestions first. Call tips want both the master code-suggestions setting and the call-tip setting on. Switch them on and the next call you start typing brings its signature with it, in every document you have open.
Getting tips working in one particular file
That file is probably set to the wrong language, or to Plain Text, which is the mode for prose. Click the Identify pill in the status bar to see which language our advanced language identifier has settled on and to override it — the panel reads Identified programming language: followed by its answer, with a pop-up to change it and Confirm or Cancel. Pick the language you want and confirm, and call tips start working in that document straight away. A brand-new untitled tab is the common case: set the language yourself from that same pop-up and the tips appear as soon as you start a call. It is worth doing early rather than at the end of a session, since colouring and the suggestion list come with it.
The language is set to Custom…
Custom… leaves a document without a language, so colouring, completion, document symbols and call tips are all waiting for you to name one. Set the file to a real language from the Identify pill and the four of them arrive together, in the document you already have open — nothing reopens, and you keep your place in the file.
The tip shows a different function's parameters
You are most likely outside the call you think you are in — after the closing bracket rather than before it, or on a line where an earlier bracket was never closed. Click clearly between the brackets and press ⌃⇧Space again.
Getting a tip for a helper you wrote yourself
Call tips find the functions you have written when they are declared in the document you have open, in nine of the languages. If one of yours is not showing a signature, check that its declaration sits in the same file as the call and is written in the ordinary form for that language. Keeping a helper beside the code that calls it is the habit that pays here: the tip follows you down the page, and the file reads better for whoever opens it next.
What you can count on
Call tips ask nothing of you before they start. Open a file, or make a new one, and the signatures are there — no project to set up, no waiting for something to finish, no configuration to get right first. That matters most in the way people actually work: a scratch tab for an idea, a script someone sent you, a file pulled out of an archive to check one line.
- Every signature is a real one. Each comes from the language itself or from a declaration in your document, so the panel is telling you what the code says rather than what it guesses. Nothing is generated by AI.
- The panel never takes over. It follows the caret, emphasises the argument you are supplying, and leaves when you leave the call. Your keystrokes go into the document throughout.
- Nothing is written to your file. A tip is something you read. The document changes only when you type into it, so you can call one up in a file you are being careful with.
- It all happens on your Mac. No signature is fetched from anywhere, no account is asked for and nothing is uploaded. A proprietary source file gets the same help as an open-source one, and neither leaves the machine.
| What you want | What to press |
|---|---|
| The signature for the call you are inside | ⌃⇧Space · Edit ▸ Show Call Tip |
| The suggestion list, to have the call typed for you | ⌃Space · Edit ▸ Auto-Complete |
| To move to the next placeholder in a filled-in call | ⇥ |
| To turn the signature panel on or off | Settings ▸ Code Suggestions (⌘,) |
Frequently asked questions
What is the shortcut to show a function's parameters?
⌃⇧Space, which is Edit ▸ Show Call Tip. ⌃Space is the neighbouring command and opens the suggestion list instead.
Do call tips work in a single file with nothing set up?
Yes. That is the point of the design. A file opened on its own gets signatures for the language's built-in functions, and for functions declared in that same file. There is nothing to configure and no waiting before the tips start working, and it all happens on your Mac.
Which languages have call tips?
Twelve of the fifteen code languages Note My supports: every one written with parenthesised calls for the panel to describe. In HTML, CSS, Shell and Plain Text files, the suggestion list is the help you reach for — it keeps offering words that already appear in your document, whatever you are writing.
Where does the highlight go when a comma sits inside a nested call?
It stays on the argument you are actually supplying. A comma inside a nested call, a generic parameter list, a default value or a quoted string belongs to the argument it sits in, so the emphasis does not move. You can write a deeply nested call and still trust the panel.
Can I get a call tip for a function I wrote myself?
Yes. Declare it in the file you are working in and its parameters show in a tip like any other, in nine of the languages. That is where it pays off most in a long single-file script: the argument order for your own helper comes to the caret instead of you scrolling up to find it.
Where do my keystrokes go while the tip is on screen?
Straight into the document. The panel follows the caret and never takes the keyboard from you, and it goes on its own once you move out of the call. The suggestion list beside it behaves the same way, so you can leave both switched on and keep typing.
Do call tips work in a very large file?
Yes. Our large-file engine keeps a multi-megabyte document open and workable, and the signature panel comes with you into it: write a call to one of the language's own functions and the signature appears above the caret, and ⌃⇧Space brings the panel up whenever you want it. A large proprietary source file gets that help without ever leaving your Mac.