문제

우리는 Matlab이 Matlab 함수에서 인수로 사용되는 파일 이름에 대한 탭 완성을 제공한다는 것을 알고 있습니다. importdata,imread. 우리가 만든 기능을 위해 어떻게해야합니까?

편집하다:

alt text

현재 디렉토리에 파일과 폴더가 표시됩니다.

도움이 되었습니까?

해결책

주의 : 지원되지 않은 해킹은 여기에 있습니다.

MATLAB 설치에서 파일 도구 상자 local tc.xml 파일을 살펴보십시오. 여기에는 탭 완료를위한 인수 유형 매핑이 포함 된 것으로 보입니다. (R2009B의 "Imread"에 대한 Matlab 설치를 막아서 이것을 발견했습니다.)

이 줄을 추가합니다 <TC> 요소를 사용하면 각 인수에 대한 파일 이름의 탭 완성이 제공됩니다.

<binding name="importdata"        ctype="FILE"/>

이를 위해서는 MATLAB 설치를 수정해야합니다. ClassPath.txt와 같은 Toolbox/Local의 다른 파일의 경우 Matlab을 시작한 디렉토리에 수정 된 사본을 배치하여 TC.XML에서는 작동하지 않았습니다.

다른 팁

인수 탭 완료에 함수를 추가하는 지원 방법은 없지만, 내가 사용하는 한 가지 트릭은 "!"를 넣는 것입니다. 명령 앞에서 시스템 명령처럼 취급됩니다. 그런 다음 탭이 파일 경로를 완료합니다. 내 MATLAB 명령이 완료되면, 나는 줄의 시작 부분이 집에 있고 "!" 그리고 Enter를 누릅니다.

Matlab 2016a 이상 :

TC.XML 파일은 MATLAB 2016A에 없습니다. a .json (Java 스크립트 객체 표기법) 파일을 달성합니다. 이것의 간단한 예는 다음과 같습니다.

Matlab 함수 파일이 호출되었다고 가정합니다 myFunction.m. 또한이 기능이 확장자가있는 파일이 필요하다고 가정합니다. .ext 입력 및 탭 완성 이이 함수에 대한 가능한 모든 입력 옵션을 표시하도록 원합니다. 그런 다음 파일에 다음 내용을 작성하고 이름을 지정하십시오. functionSignatures.json.

{
"myFunction":
{
  "inputs":
  [
    {"name":"filename", "kind":"required", "type":"filepath=*.ext" }
  ]
}
}

이 파일을 동일한 디렉토리에 배치하십시오 myFunction.m 파일. 이제 matlab을 다시 시작하십시오.

이 파일의 일 : 함수 입력을 입력하는 동안 탭을 누르면 확장자가있는 파일 목록이 표시됩니다. .ext 팝업. 모든 파일을 연장에 관계없이 탭 완료 팝업에 표시하려면 교체하십시오. "type":"filepath=*.ext" ~와 함께 "type":"filepath" 파일에서 functionSignatures.json.

원천 : https://www.mathworks.com/matlabcentral/answers/306157-how-to-configure-completion-for-my-function-matlab-2016#answer_237857

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top