BookmarkSubscribeRSS Feed

Having code completion in EG and SAS Studio is helpful, but I often find myself typing file paths, as well.  Being able to tab-complete much like you can in Bash would be very helpful.

Diamond | Level 26
Diamond | Level 26

Setup a project macro which contains the path of the project, then that will simplify your paths.  This is one (and only one really) are where macro shines, as it makes it very simple to change paths, and thus make the project portable.  E.g.

%let root=//somewhere/here;

Put that in your start/autoexec/project or whatever file, then use:

filename test "&root./afolder/myoutput.txt";

In this way you only have to relate to the project structure, not where the project is residing.  This is probably a best practice on all programming tasks/platforms, as then to move the project, you only have to change that one assignment to the new path.

Obsidian | Level 7

That's generally how I set up most projects...I still think it would be convenient to have this feature as it is included on most every IDE and CLI you can think of.  

SAS Employee

Hi Mark,


I added your request to our system that we use to manage customer suggestions.

Your suggestion will be reviewed by R&D and Product management, and they will

decide the next action. 


Sounds useful to me.  For the &root alternative, rather than hardcode it, in EG you can get the root of the project from:

%let root= %qsysfunc(compress(%bquote(&_CLIENTPROJECTPATH),%str(%')));

I haven't looked at Studio much, but assume it would offer similar, perhaps like interactive has 

%let root= %qsysfunc(sysget(SAS_EXECFILEPATH));
Super User
Super User

Not sure it would be workable (or that useful) in the CODE editor.  But in the SAS/Studio File Explorer tab it would be useful and probably easier to implement.


Note that once you find a path in the File Explorer tab you can select properties on it and find the full path and copy and paste that into your editor window.