When I switched to notepad++ and than 4coder I was missing the "goto definition" and the refactor tools (to rename things in bulk mostly). But I didn't use those a lot so it was never a great issue.
For "goto definition" 4coder has several search functions that can help you. This function search in open buffers (you can use the project system to open all files from a directory). When you got a "locked buffer" (~ readonly) in 4coder you can use <return> to open the line under the cursor in the other view, <shift return> to open in the same view, and <alt n> and <alt N> to open the next "jump location". All those function are text base (no compiler involved), so there can be false positives.
To search for a struct/class/enum/union definition:
<alt D> Queries user for string, lists all locations of strings that appear to define a type whose name matches the input string.
<alt T> Reads a token or word under the cursor and lists all locations of strings that appear to define a type whose name matches it.
To search for a function definition:
<ctrl T> Reads a token or word under the cursor and lists all exact case-sensitive mathces in all open buffers.
<ctrl F> Queries the user for a string and lists all exact case-sensitive matches found in all open buffers.
<alt F> Queries the user for a string and lists all case-insensitive substring matches found in all open buffers.
<ctrl G> Reads the string in the selected range and lists all exact case-sensitive mathces in all open buffers.
This work fine for your code but if you want to jump to a system header or library it requires that you open the file. So for that it may be better to use Visual Studio (at least to find the file you need to open).
I also use the "execute CLI" (my version of it) with a batch file to call "findstr". You can use the jump commands with the result. This is usefull to search in a directory without opening all the files in it, but it can be a bit slow. Note that you need to call this script form the directory you want to search which might no be possible to do with the default execute CLI from 4coder (I don't remember).
set wildcards="%CD%\*.h" "%CD%\*.cpp" "%CD%\*.cs" "%CD%\*.txt" "%CD%\*.bat"
rem set wildcards=*.h *.cpp *.cs *.txt *.bat
findstr /L /S /I /N %* %wildcards%
For the bulk rename, I use the "compile error trick" where I change the name of the thing I want to rename and compile. That will generate errors and you can use <alt n> to open the files and than use the replace or replace in range functions. It's not fun but it works ok if you don't do that often.
Of course you can invest some time to try to code some of those things in you custom layer (you could use clang to do some of those things as mmozeiko said).