@@ -36,6 +36,8 @@ class App extends React.Component {
3636 workspaceWeights : [ 1 , 2 , 2 ] ,
3737 editorTabIndex : - 1 ,
3838 } ;
39+
40+ this . codeEditorRef = React . createRef ( ) ;
3941 }
4042
4143 componentDidMount ( ) {
@@ -141,7 +143,7 @@ class App extends React.Component {
141143 contributors : undefined ,
142144 } , {
143145 name : `code.${ ext } ` ,
144- content : language ? language . skeleton : '' ,
146+ content : language . skeleton ,
145147 contributors : undefined ,
146148 } ] ,
147149 } ) ;
@@ -168,6 +170,7 @@ class App extends React.Component {
168170
169171 handleChangeWorkspaceWeights ( workspaceWeights ) {
170172 this . setState ( { workspaceWeights } ) ;
173+ this . codeEditorRef . current . getWrappedInstance ( ) . handleResize ( ) ;
171174 }
172175
173176 handleChangeEditorTabIndex ( editorTabIndex ) {
@@ -178,13 +181,15 @@ class App extends React.Component {
178181 }
179182
180183 handleAddFile ( ) {
184+ const { ext } = this . props . env ;
181185 const { files } = this . props . current ;
182- let name = 'untitled' ;
186+ let name = `code. ${ ext } ` ;
183187 let count = 0 ;
184- while ( files . some ( file => file . name === name ) ) name = `untitled-${ ++ count } ` ;
188+ while ( files . some ( file => file . name === name ) ) name = `code-${ ++ count } .${ ext } ` ;
189+ const language = languages . find ( language => language . ext === ext ) ;
185190 this . props . addFile ( {
186191 name,
187- content : '' ,
192+ content : language . skeleton ,
188193 contributors : undefined ,
189194 } ) ;
190195 }
@@ -258,7 +263,7 @@ class App extends React.Component {
258263 < VisualizationViewer className = { styles . visualization_viewer } />
259264 < TabContainer className = { styles . editor_tab_container } titles = { editorTitles } tabIndex = { editorTabIndex }
260265 onChangeTabIndex = { tabIndex => this . handleChangeEditorTabIndex ( tabIndex ) } >
261- < CodeEditor file = { file } onClickDelete = { ( ) => this . handleDeleteFile ( ) } />
266+ < CodeEditor ref = { this . codeEditorRef } file = { file } onClickDelete = { ( ) => this . handleDeleteFile ( ) } />
262267 </ TabContainer >
263268 </ ResizableContainer >
264269 < ToastContainer className = { styles . toast_container } />
0 commit comments