PhpStorm에서 다른 언어 포함

2811 단어 PhpStorm
PhpStorm에는 PHP 코드의 일부를 PHP 이외의 언어로 취급할 수 있는 Language Injection이라는 기능이 있습니다.

문자열 안에 HTML이나 SQL을 쓸 때 자연스럽게 강조 표시되는 것입니다.



덧붙여서 SQL은 PhpStorm에서 DB의 접속 설정을 실시하면 테이블이나 컬럼명의 보완이나 체크도 실시해 줍니다. 대단해. (실제 설정은 생략합니다)

통상의 캐릭터 라인중에서, 자동적으로 언어의 판별을 해 주는 것은 HTML나 SQL의 일부의 언어만으로, 그것 이외는 수동으로 Language Injection을 설정할 수가 있습니다. alt + Enter 에서 나타나는 컨텍스트 메뉴에서 Language Injection 를 선택하여 후보에서 선택할 수 있습니다.







신택스 체크가 행해지므로 일반 텍스트에서는 알기 어려웠던 신택스 에러가 일목요연합니다. 문자열 중에 HTML이나 javascript를 포함시키는 것은 약간 느껴집니다만 사용하지 않을 수 없는 케이스는 종종 하고 있으므로 그때는 유효 활용합시다.

또, 히어 문서에서는 종단 ID를 특정의 캐릭터 라인으로 하는 것으로 자동으로 Language Injection이 행해집니다.



종단 ID를 언어명으로 하는 것으로 그 안쪽은 모두 그 언어로서 취급됩니다.
캐릭터 라인중에서는 직접 지정할 수 없는 javascript나 정규 표현도 직접 지정할 수 있으므로 편리(?)입니다. 그리고 아무래도 SQL은 PDO나 mysqli의 플레이스홀더에 대응하고 있습니다.

또한 HTML에서도 Language Injection을 사용할 수 있습니다. style 태그 안에는 css, script 태그 안은 javascript로 취급되는 것은 당연하지만, 그 이외의 특수한 경우도 있습니다.



javascript의 executeSql 안의 캐릭터 라인은 SQL로서 다루어집니다.
또 script 태그에서는 내용이 type로 지정된 파일 타입에 따른 언어로서 취급됩니다. HTML중에 javascript로 이용하는 템플릿을 둘 때 등에 이용할 수 있습니다. (단 템플릿의 종류까지는 지정할 수 없기 때문에 물건에 따라서는 에러로 보기 흉하게 됩니다…)

직접 사용하는 장면은 그리 많지 않다고 생각합니다만, 임베드된 코드의 가독성이 좋아지므로, 이용법을 기억해 두면 도움이 될 수도 있습니다.
개인적으로 SQL은 AcriveRecord를 이용하지 않는 제품에서 매우 편리합니다.

그래서 PhpStorm의 변태 기능 Inject Language였습니다.
내일부터는 또 Vexus2 선생님의 온스테이지입니다! 최선을 다하십시오!

좋은 웹페이지 즐겨찾기